我希望当我们comboBox选择时ТЕКСТ 1,窗口会显示ТЕКСТ 1 1,
按下按钮2文本将变为ТЕКСТ 1 2,
按下按钮1文本将变为ТЕКСТ 1 1。
当我们comboBox选择inТЕКСТ 2时,窗口会显示ТЕКСТ 2 3,
按一下按钮4文字会变成ТЕКСТ 2 4,
按一下按钮3文字会变成ТЕКСТ 2 3
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Window1(object):
def setupUi(self, Window1):
Window1.resize(800, 450)
self.Main1 = QtWidgets.QWidget(Window1)
self.comboBox = QtWidgets.QComboBox(self.Main1)
self.comboBox.setGeometry(QtCore.QRect(693, 0, 91, 22))
self.comboBox.addItem('ТЕКСТ 1')
self.comboBox.addItem('ТЕКСТ 2')
self.comboBox.activated[str].connect(self.change_science)
self.item = {'ТЕКСТ 1' : self.item_one(), 'ТЕКСТ 2' : self.item_two()}
self.science_now = str(self.comboBox.currentText())
self.change_science(self.science_now)
Window1.setCentralWidget(self.Main1)
QtCore.QMetaObject.connectSlotsByName(Window1)
def change_science(self, text):
for i in self.item.get(self.science_now):
i.setHidden(True)
for i in self.item.get(text):
i.setHidden(False)
self.science_now = text
def item_one(self):
self.label = QtWidgets.QLabel(self.Main1)
self.label.setGeometry(QtCore.QRect(50, 50, 170, 22))
self.label.setText('ТЕКСТ 1 1')
self.pushButton_1 = QtWidgets.QPushButton(self.Main1)
self.pushButton_1.setGeometry(QtCore.QRect(0, 422, 93, 28))
self.pushButton_1.setText('1')
self.label.setHidden(True)
self.pushButton_2 = QtWidgets.QPushButton(self.Main1)
self.pushButton_2.setGeometry(QtCore.QRect(93, 422, 93, 28))
self.pushButton_2.setText('2')
self.label.setHidden(True)
return [self.label, self.pushButton_1, self.pushButton_2]
def item_two(self):
self.label = QtWidgets.QLabel(self.Main1)
self.label.setGeometry(QtCore.QRect(50, 50, 170, 22))
self.label.setText('ТЕКСТ 2 3')
self.label.setHidden(True)
self.pushButton_1 = QtWidgets.QPushButton(self.Main1)
self.pushButton_1.setGeometry(QtCore.QRect(0, 422, 93, 28))
self.pushButton_1.setText('3')
self.pushButton_1.setHidden(True)
self.pushButton_2 = QtWidgets.QPushButton(self.Main1)
self.pushButton_2.setGeometry(QtCore.QRect(93, 422, 93, 28))
self.pushButton_2.setText('4')
self.pushButton_2.setHidden(True)
return [self.label, self.pushButton_1, self.pushButton_2]
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
Window1 = QtWidgets.QMainWindow()
ui = Ui_Window1()
ui.setupUi(Window1)
Window1.show()
sys.exit(app.exec_())




永远不要更改Qt 设计器生成的代码,永远。
创建另一个从相应小部件继承的类,并使用生成的类来填充它。