Python+QT Designer做一个带界面的多选框

        主要的功能是,当我在界面上选择某个多选框时,信息会被时实显示出来。未勾选时,信息会被删除。实现一个工作上的小功能。

        用的东西如下:

         这个是QT的界面设计,怎么安装这里就不介绍了。下面是运行后的样子。样子丑了点,主要是实现功能。选中就能显示,不选中就会被删除。

 代码如下:

from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader


class Stats:
    def __init__(self):
        # 从文件中加载UI定义
        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.ui = QUiLoader().load('ui/test.ui')#ui文体放到py当前文件下面。
        #这里是引入做好的按钮,这里做了4个多选按钮
        self.ui.c1.clicked.connect(self.c1)
        self.ui.c2.clicked.connect(self.c2)
        self.ui.c3.clicked.connect(self.c3)
        self.ui.c4.clicked.connect(self.c4)
        self.xiyao = [] #药品数组

    def xianshi(self):#用来将选择的内容显示在文本框内
        abc = ""
        for x in self.xiyao:
            abc += x + ','
        self.ui.in1.setText(abc)#设置文本框显示的值,in1为文本框名字

    def c1(self):
        if self.ui.c1.isChecked():#当这个多选框被选中时
            self.xiyao.append(self.ui.c1.text())#把自身的值添加进数组
            print(self.xiyao)
            self.xianshi()#调用显示函数
        else:
            self.xiyao.remove(self.ui.c1.text())#如何未被选中,则从数组中删除值
            print(self.xiyao)
            self.xianshi()#再调用显示函数,更新当前信息。

    def c2(self):
        if self.ui.c2.isChecked():
            self.xiyao.append(self.ui.c2.text())
            print(self.xiyao)
            self.xianshi()
        else:
            self.xiyao.remove(self.ui.c2.text())
            print(self.xiyao)
            self.xianshi()
    def c3(self):
        if self.ui.c3.isChecked():
            self.xiyao.append(self.ui.c3.text())
            print(self.xiyao)
            self.xianshi()
        else:
            self.xiyao.remove(self.ui.c3.text())
            print(self.xiyao)
            self.xianshi()
    def c4(self):
        if self.ui.c4.isChecked():
            self.xiyao.append(self.ui.c4.text())
            print(self.xiyao)
            self.xianshi()
        else:
            self.xiyao.remove(self.ui.c4.text())
            print(self.xiyao)
            self.xianshi()

#搞不懂这段,反正加了才能显示
app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值