PyQt5下拉框及其点击事件绑定

PyQt5下拉框及其点击事件绑定

My Environment

  • Python 3.x
  • Pyqt5
  • Qt designer
  • PyUIC

最终效果描述

通过点击下拉框选中信息显示在界面指定区域上,可以应用于在界面指定区域显示图像、文字、表格、数据库查询等方面。


实现过程

1.需要自己设计好QComboBox下拉框(通过Qt designer ,也可以直接手写)及其他组件
2.了解QComboBox类常用的信号及方法

信号 描述
Activated 选中下拉选项时发射信号
currentIdexChanged 当下拉选项索引发生变化时发射信号
highlighted 当选中已选中的下拉框时发射信号

3.新建下拉框相关函数test:
(展示图片、文字、数据库查询(需要自己连接数据库,未提供数据库连接代码,可参考链接: 利用pymysql操纵MySQl数据库.))

#[str] 表示comboBox中的选择框内容
self.comboBox_test.activated[str].connect(self.test)
    def findstate(self, itemtext):
        global state_flag1
        statename = itemtext
        # 添加数据库连接代码位置
        try:
            # cur = database.cursor()
            if itemtext == "小猫":
                self.graphicsView_5.setStyleSheet("border-image: url(:/images/cat.png);")
            self.lineEdit_58.setText("小猫")
            cur.execute('select * from world where animals="小猫"')
            elif itemtext == "小狗":
                self.graphicsView_5.setStyleSheet("border-image: url(:/images/dog.png);")
            self.lineEdit_58.setText("小狗")
            cur.execute('select * from world where animals="小狗"')
            elif itemtext == "小猪":
                self.graphicsView_5.setStyleSheet("border-image: url(:/images/pig.png);")
            self.lineEdit_58.setText("小猪")
            cur.execute('select * from world where animals="小猪"')
            else:
                # 提示信息
                self.box = QMessageBox(QMessageBox.Warning, "提示信息", "未查询到相关信息!")
                qyes = self.box.addButton(self.tr("确定"), QMessageBox.YesRole)
                # qno = self.box.addButton(self.tr("否"), QMessageBox.NoRole)
                self.box.exec_()
            # print(state_flag1)
        except Exception as e:
            print("未知异常!")
            # 提示信息
            self.box = QMessageBox(QMessageBox.Warning, "提示信息", "未知异常!")
            qyes = self.box.addButton(self.tr("确定"), QMessageBox.YesRole)
            # qno = self.box.addButton(self.tr("否"), QMessageBox.NoRole)
            self.box.exec_()

通过按钮点击激活下拉框操作

方法:通过变量传值的方式,将item选中的内容先传递给一个临时变量或数组,当点击按钮时通过临时变量或数组执行相关操作。


END

你可能感兴趣的:(PyQt5,PythonGUI从调库到打包,python,数据库,mysql,GUI,QComboBox)