写点什么

Python Qt GUI 设计:QComboBox 下拉列表框类(基础篇—14)

  • 2021 年 11 月 23 日
  • 本文字数:835 字

    阅读完需:约 3 分钟

Python Qt GUI设计:QComboBox下拉列表框类(基础篇—14)

QComboBox 是一个集按钮和下拉选项于一体的控件,也被称为下拉列表框。

QComboBox 类中的常用方法如下表所示:

QComboBox 类中的常用信号如下表所示:

来看看 QComboBox 按钮类的示例,效果如下所示:

在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有 5 个选项,既可以使用 QComboBox 的 addltem()方法添加单个选项,也可以使用 addltems()方法添加多个选项,标签显示的是从下拉列表框中选择的选项。

当下拉列表框中的选项发生改变时将发射 currentIndexChanged 信号,连接到自定义的槽函数 selectionchange()。

在方法中,当选中下拉列表框中的一个选项时,将把该选项的文本设置为标签的文本并调整标签的大小。

实现代码如下所示:

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *
class ComboxDemo(QWidget): def __init__(self, parent=None): super(ComboxDemo, self).__init__(parent) self.setWindowTitle("combox 例子") self.resize(300, 90) layout = QVBoxLayout() self.lbl = QLabel("" ) self.cb = QComboBox() self.cb.addItem("C") self.cb.addItem("C++") self.cb.addItems(["Java", "C#", "Python"]) self.cb.currentIndexChanged.connect(self.selectionchange) layout.addWidget(self.cb) layout.addWidget(self.lbl ) self.setLayout(layout) def selectionchange(self,i): self.lbl.setText( self.cb.currentText() ) self.lbl.adjustSize() print( "Items in the list are :" ) 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) comboxDemo = ComboxDemo() comboxDemo.show() sys.exit(app.exec_())
复制代码


发布于: 17 小时前阅读数: 4
用户头像

【研究方向】物联网、嵌入式、AI、Python 2018.02.09 加入

【公众号】美男子玩编程,关注获取海量资源~

评论

发布
暂无评论
Python Qt GUI设计:QComboBox下拉列表框类(基础篇—14)