之前講過了clicked和clicked[bool]的區別其實是沒有什麼區別的。
但是今天學習QComboBox的時候發現,activated和activated[str]的區別還是很大的。
前者給槽函數傳遞的參數是下標index的值,從0開始。
後者給槽函數傳遞的是item的text文字
案例如下:
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
hbox = QVBoxLayout(self)
self.l = QLabel('初始值', self)
c = QComboBox(self)
c.addItem('1')
c.addItem('11')
c.addItem('12')
c.addItem('13')
# 這種寫法給槽函數傳遞的是index
c.activated.connect(self.test)
# 這種寫法給槽函數傳遞的text
c.activated[str].connect(self.test)
hbox.addWidget(self.l)
hbox.addWidget(c)
self.setLayout(hbox)
self.setGeometry(600, 300, 600, 600)
self.setWindowTitle('slider')
self.show()
def test(self,text):
print(text)
# self.l.setText(value)
# self.l.adjustSize()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())