pyqt combobox

import sys
from PyQt5.QtWidgets import QApplication, QComboBox, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QMessageBox
from PyQt5.QtGui import QPixmap, QIcon


class ExComboBox(QWidget):
    '''
    下拉框简单举例
    '''

    def __init__(self):
        '''
        一些初始设置
        '''
        super().__init__()
        self.init_ui()

    def init_ui(self):
        '''
        界面初始设置
        '''
        self.resize(400, 100)
        self.setWindowTitle("微信公众号--下拉框1")
        self.show()

        label1 = QLabel("你可以选择", self)
        combox = QComboBox(self)
        label2 = QLabel("大家静一静,", self)
        self.label3 = QLabel("        ", self)

        hlayout1 = QHBoxLayout()
        hlayout1.addStretch(1)
        hlayout1.addWidget(label1)
        hlayout1.addStretch(1)
        hlayout1.addWidget(combox)
        hlayout1.addStretch(1)

        hlayout2 = QHBoxLayout()
        hlayout2.addStretch(1)
        hlayout2.addWidget(label2)
        hlayout2.addStretch(1)
        hlayout2.addWidget(self.label3)
        hlayout2.addStretch(1)

        vlayout = QVBoxLayout()
        vlayout.addLayout(hlayout1)
        vlayout.addLayout(hlayout2)

        self.setLayout(vlayout)

        infomation = ["我想静静", "我要开始学习了", "我要开始睡觉了", "我要开始装B了"]

        combox.addItems(infomation)
        # 使用addItems()函数将列表数据放入

        self.label3.setText(combox.currentText())
        # 将label3的文本设置为当前选项的值
        # currentText()属性保存当前文本。
        # 如果下拉框是可编辑的,则当前文本是下拉框中显示的值。否则,如果下拉框为空或未设置当前项目,则为当前项目的值或空字符串。

        combox.activated[str].connect(self.zhuangB)
        # 这个信号会把选中的值(字符串)传递给槽函数zhuangB()

    def zhuangB(self, text):
        '''
        一个装B功能
        '''
        self.label3.setText(text)
        if text == "我要开始装B了":
            msgBox = QMessageBox(QMessageBox.NoIcon, '装B', "让你装B")
            msgBox.setIconPixmap(QPixmap("./res/zhuangB.png"))
            msgBox.setWindowIcon(QIcon("./res/latin_b.png"))
            msgBox.exec()
            # 当我们选择“我要开始装B了”,就会弹出相应的对话框


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = ExComboBox()
    sys.exit(app.exec_())
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值