美文网首页
PyQt5 QComboBox(下拉列表框) 学习

PyQt5 QComboBox(下拉列表框) 学习

作者: _Mirage | 来源:发表于2020-04-05 07:09 被阅读0次

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

这样: image.png

代码:

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

运行结果: image.png
image.png

相关文章

网友评论

      本文标题:PyQt5 QComboBox(下拉列表框) 学习

      本文链接:https://www.haomeiwen.com/subject/rcyjphtx.html