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_())

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