QComboBox is a widget that allows a user to choose from a list of options.
我们点击后会出现一系列的选项供用户选择。比如qq登陆时候的历史记录。

代码:
# coding='utf-8'
from PyQt5.QtWidgets import QApplication, QWidget,\
QComboBox, QLabel
import sys
class Gui(QWidget):
def __init__(self):
super(Gui, self).__init__()
self.start()
def start(self):
# 创建初始内容是'Ubuntu',父组件是主窗体(QWidget)的标签
# 我们没有给label主动设置move,所以系统给他放置在了(0, 0)位置
self.label = QLabel('Ubuntu', self)
# 创建父组件是QWidget(主窗体)的下拉列表框
combo = QComboBox(self)
# addItems参数是一个可迭代对象,一次性添加多个\
# 当然也可以一项一项用addItem添加
combo.addItems(['Ubuntu', 'Mandriva',
'Fedora', 'Arch', 'Gentoo'])
# 将combo下拉列表框放置到(50, 50)
combo.move(50, 50)
# 将信号activated[str]与槽self.on_activated相联系
combo.activated[str].connect(self.on_activated)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('下拉列表框')
self.show()
# 当下拉列表框被激活时(选东西时)触发
def on_activated(self, item):
# item是字符串
# 将用户选择的item内容放置到标签中
self.label.setText(item)
# 动态调整标签长度以适应内容
self.label.adjustSize()
app = QApplication(sys.argv)
gui = Gui()
sys.exit(app.exec_())
运行结果:


网友评论