嗨,谁能告诉我这件事吗?我是PyQt的新手。在
例如,我在一个组合框中有3个选项A,B和C,如果我选择A,它应该显示一组小部件,可能称为X。如果我选择B,它应该显示另一组小部件,比如Y等等。在
此外,我使用分组框将所有要显示在各自容器中的小部件分组。具体来说,这里我只想将Combobox的A选项链接到分组框。在
谢谢:)
这是我的代码:from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.comboBox = QtWidgets.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(220, 40, 281, 22))
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("-")
self.comboBox.addItem("A")
self.comboBox.addItem("B")
self.comboBox.addItem("C")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(70, 90, 631, 321))
self.groupBox.setObjectName("groupBox")
**#######################################################**
self.groupBox.hide()
**#######################################################**
self.pushButton_1 = QtWidgets.QPushButton(self.groupBox)
self.pushButton_1.setGeometry(QtCore.QRect(120, 40, 391, 101))
self.pushButton_1.setObjectName("pushButton_1")
self.label_1 = QtWidgets.QLabel(self.groupBox)
self.label_1.setGeometry(QtCore.QRect(280, 220, 150, 61))
self.label_1.setStyleSheet("font: 14pt \"MS Shell Dlg 2\";")
self.label_1.setObjectName("label_1")
**#######################################################**
cur_txt = self.comboBox.currentText()
if cur_txt == 'A':
self.groupBox.show()
else:
self.groupBox.hide()
**#######################################################**
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.groupBox.setTitle(_translate("MainWindow", "Yupp"))
self.pushButton_1.setText(_translate("MainWindow", "Press Me1"))
self.label_1.setText(_translate("MainWindow", "Hello Moto1"))
self.pushButton_2.setText(_translate("MainWindow", "Press Me2"))
self.label_2.setText(_translate("MainWindow", "Hello Moto2"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
大部分零件是使用Qt设计器生成的。只有之间的事情是我写的。我知道有些事情是错的,但我不知道如何改正。在