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

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

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

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

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

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

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

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

实现代码如下所示:

import sys

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容