关于pyqt5中的combobox与buttbox结合起来的运用
本帖最后由 差不多先生air 于 2020-8-28 11:28 编辑我想通过选择combobox不同的下拉选项,然后通过buttbox按钮,将一些内容打印在textedit上面,请问一下应该怎么将combobox和buttbox结合起来,达到以上的目的。
界面代码
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(623, 508)
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(410, 380, 93, 28))
self.pushButton.setObjectName("pushButton")
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(30, 380, 71, 21))
self.label.setObjectName("label")
self.comboBox = QtWidgets.QComboBox(Form)
self.comboBox.setGeometry(QtCore.QRect(116, 380, 261, 22))
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.textEdit = QtWidgets.QTextEdit(Form)
self.textEdit.setGeometry(QtCore.QRect(30, 30, 471, 331))
self.textEdit.setObjectName("textEdit")
self.retranslateUi(Form)
self.pushButton.clicked.connect(Form.pushButton_click)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "软件启动"))
self.label.setText(_translate("Form", "软件选择:"))
self.comboBox.setItemText(0, _translate("Form", "机械特性"))
self.comboBox.setItemText(1, _translate("Form", "微水测试"))
主程序代码
import sys
import subprocess
from PyQt5 import QtWidgets
from PyQT_Form import Ui_Form
class MyPyQT_Form(QtWidgets.QWidget,Ui_Form):
def __init__(self):
super(MyPyQT_Form,self).__init__()
self.setupUi(self)
#实现pushButton_click()函数,textEdit是我们放上去的文本框的id
def pushButton_click(self):
self.textEdit.setText("机械特性软件正在运行...")
self.textEdit.setReadOnly(True)
subprocess.Popen("F:\HDSwitchTest.7z11\HDSwitchTest\HDSwitchTest.exe")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
my_pyqt_form = MyPyQT_Form()
my_pyqt_form.show()
sys.exit(app.exec_())
界面图:
你要显示的是什么内容,如果是combobox选项内容就很简单了,如果是和选项内容关联的,那就做个excel,读取后,用self.ui.comboBox_1.currentIndexChanged.connect(self.Find_in_excel_change)动作事件先关联了,可以设个全局变量
然后buttbox也有动作事件,获取上面关联的内容,再self.ui.plainTextEdit_3.setPlainText('内容')就可以了呗
也可以Button动作事件先获取了combobox当前内容,再去excel读取的数据中查找对应的内容,再setPlainText 能描述的具体点么,打印什么内容?下拉选项与按钮之间的联系是啥? 疾风怪盗 发表于 2020-8-28 10:55
你要显示的是什么内容,如果是combobox选项内容就很简单了,如果是和选项内容关联的,那就做个excel,读取 ...
老哥你在看看上面我的描述,我想通过下拉列表选择不同的内容,然后点击启动按钮后,可以打印不同的内容在textedit上,然后启动外部可执行程序。(这个不用在意) 文明的读书人 发表于 2020-8-28 10:55
能描述的具体点么,打印什么内容?下拉选项与按钮之间的联系是啥?
看看我上面重新编辑的帖子 差不多先生air 发表于 2020-8-28 11:31
老哥你在看看上面我的描述,我想通过下拉列表选择不同的内容,然后点击启动按钮后,可以打印不同的内容 ...
你看下我回复的意思。
你要实现这个很简单啊,设个字典,{'机械特性':'11111','微水测试':'22222'},然后按钮事件时,先获取combobox的currentText()(pyside2中是这个返回选项的文本),再去字典中找对应的值,setText不就好了
数据量大的,字典就换成读取excel内容,就可以了
你不是这个意思么? 我有个帖子也是写类似功能的,你可以看下
页:
[1]