ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-26 01:01:14  阅读:237  来源: 互联网

标签:__ cb self QComboBox label 文本 下拉框


使用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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有