之前讲过了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_())