其他分享
首页 > 其他分享> > PyQt5基础学习-QComBoBox()下拉列表框 1.QComboBox(),currentIndexChanged.connect(当选择变化时的绑定函数) 2.QComboBox().curr

PyQt5基础学习-QComBoBox()下拉列表框 1.QComboBox(),currentIndexChanged.connect(当选择变化时的绑定函数) 2.QComboBox().curr

作者:互联网

使用currentIndeChanged来绑定选择变化后的函数, 使用QComboBox().currentText()来获得当前被选中框的文本

QComBoBoxDemo.py

"""
下拉列表控件 (QComboBox)
1.如果将列表项添加到QComboBox控件中
2.如何获取选中的列表项
"""

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt

class QComboxDemo(QWidget):
    def __init__(self):
        super(QComboxDemo, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("下拉列表控件演示")
        #设置框的大小
        self.resize(300, 100)
        #创建垂直布局
        layout = QVBoxLayout()
        #设置起头标签
        self.label = QLabel("请选择编程语言")
        #构建下拉框
        self.cb = QComboBox()
        #往下拉框中添加文本
        self.cb.addItem("C++")
        self.cb.addItem("Python")
        self.cb.addItems(['Java', 'C#', 'Ruby'])
        #当下拉框的选项变化时,进行函数绑定
        self.cb.currentIndexChanged.connect(self.selectionChange)

        layout.addWidget(self.label)
        layout.addWidget(self.cb)

        self.setLayout(layout)
    #i表示第几个下拉框被选中
    def selectionChange(self, i):
        #设置label的内容为下拉框的选中内容
        self.label.setText(self.cb.currentText())
        #自动跳转label的大小
        self.label.adjustSize()
        #循环下拉框
        for count in range(self.cb.count()):
            print('item' + str(count) + "=" + self.cb.itemText(count))
        #打印被选中下拉框的内容
        print('current index', i, 'selection changed', self.cb.currentText())


if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = QComboxDemo()
    main.show()

    sys.exit(app.exec_())

 

标签:__,cb,self,QComboBox,label,文本,下拉框
来源: https://www.cnblogs.com/hyq-lst/p/15845190.html