QComboBox使用的细节

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章