admin 管理员组文章数量: 1086019
I wrote code for a board game application to randomly select a team based on the components available to the players. The code with the TkInter add-on works correctly, it is formed as needed, but the interface does not suit, so I decided to do it using QtDesigner. Created a set of three windows. The main one and two dialogs. In the main window, I configure the components, launch the dialogs, and that's it, not a single widget is activated, data is not read from them. I can't figure out what the error is, what syntax should be used to run it. I seem to be following the instructions. Please indicate what is wrong?
import sys
import random
from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow
from menu1 import Ui_MainWindow
from menu2 import Ui_Dialog
global clicks, warriors, magics, scouts, healers, CardOL, Special_W, Special_M, Special_S, Special_H
class menu1(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.Ui = Ui_MainWindow()
self.Ui.setupUi(self)
self.show()
self.Ui.pushButton.clicked.connect(self.setup_games)
self.Ui.pushButton_3.clicked.connect(self.select_all)
self.Ui.pushButton_4.clicked.connect(self.reset_all)
def select_all(self):
self.Ui.checkBox_1.setChecked(True)
self.Ui.checkBox_2.setChecked(True)
def reset_all(self):
self.Ui.checkBox_1.setChecked(False)
self.Ui.checkBox_2.setChecked(False)
# A dialog box opens with the checkbox and push button widgets for working with additional lists.
def setup_games(self):
self.menu2 = QDialog()
self.ui_menu2 = Ui_Dialog()
self.ui_menu2.setupUi(self.menu2)
self.menu2.show()
class menu2(QDialog):
def __init__(self):
super().__init__()
self.Ui = Ui_Dialog()
self.Ui.setupUi(self)
self.Ui.pushButton_3.clicked.connect(self.reset_all_W)
self.Ui.pushButton_4.clicked.connect(self.select_all_W)
def select_all_W(self):
self.Ui.checkBox_2.setChecked(True)
self.Ui.checkBox_3.setChecked(True)
def reset_all_W(self):
self.Ui.checkBox_2.setChecked(False)
self.Ui.checkBox_3.setChecked(False)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = menu1()
window.show()
sys.exit(app.exec_())
Here is the dialog box code:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.setWindowModality(QtCore.Qt.ApplicationModal)
Dialog.resize(536, 526)
Dialog.setStyleSheet("font: 57 10pt \"Windlass\";")
self.tabWidget = QtWidgets.QTabWidget(Dialog)
self.tabWidget.setGeometry(QtCore.QRect(10, 10, 501, 441))
self.tabWidget.setStyleSheet("font: 57 10pt \"Windlass\";\n"
"background-color: rgb(149, 154, 255);\n"
"")
self.tabWidget.setTabBarAutoHide(True)
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setAutoFillBackground(False)
self.tab.setStyleSheet("background-color: rgb(255, 169, 166);\n"
"")
self.tab.setObjectName("tab")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.formLayout = QtWidgets.QFormLayout()
self.formLayout.setHorizontalSpacing(100)
self.formLayout.setVerticalSpacing(11)
self.formLayout.setObjectName("formLayout")
self.checkBox_2 = QtWidgets.QCheckBox(self.tab)
self.checkBox_2.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_2.setObjectName("checkBox_2")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.checkBox_2)
self.checkBox_9 = QtWidgets.QCheckBox(self.tab)
self.checkBox_9.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_9.setObjectName("checkBox_9")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.checkBox_9)
self.checkBox_3 = QtWidgets.QCheckBox(self.tab)
self.checkBox_3.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_3.setObjectName("checkBox_3")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.checkBox_3)
self.checkBox_10 = QtWidgets.QCheckBox(self.tab)
self.checkBox_10.setStyleSheet("color: rgb(0, 0, 0);\n"
"")
self.checkBox_10.setObjectName("checkBox_10")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.checkBox_10)
self.checkBox_4 = QtWidgets.QCheckBox(self.tab)
self.checkBox_4.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_4.setObjectName("checkBox_4")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.checkBox_4)
self.checkBox_11 = QtWidgets.QCheckBox(self.tab)
self.checkBox_11.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_11.setObjectName("checkBox_11")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.checkBox_11)
self.checkBox_5 = QtWidgets.QCheckBox(self.tab)
self.checkBox_5.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_5.setObjectName("checkBox_5")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.checkBox_5)
self.checkBox_12 = QtWidgets.QCheckBox(self.tab)
self.checkBox_12.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_12.setObjectName("checkBox_12")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.checkBox_12)
self.checkBox_6 = QtWidgets.QCheckBox(self.tab)
self.checkBox_6.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_6.setObjectName("checkBox_6")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.checkBox_6)
self.checkBox_13 = QtWidgets.QCheckBox(self.tab)
self.checkBox_13.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_13.setObjectName("checkBox_13")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.checkBox_13)
self.checkBox_7 = QtWidgets.QCheckBox(self.tab)
self.checkBox_7.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_7.setObjectName("checkBox_7")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.checkBox_7)
self.checkBox_14 = QtWidgets.QCheckBox(self.tab)
self.checkBox_14.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_14.setObjectName("checkBox_14")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.checkBox_14)
self.checkBox_8 = QtWidgets.QCheckBox(self.tab)
self.checkBox_8.setStyleSheet("color: rgb(0, 0, 0);")
self.checkBox_8.setObjectName("checkBox_8")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.SpanningRole, self.checkBox_8)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.pushButton_4 = QtWidgets.QPushButton(self.tab)
self.pushButton_4.setStyleSheet("background-color: rgb(170, 255, 127);")
self.pushButton_4.setObjectName("pushButton_4")
self.horizontalLayout.addWidget(self.pushButton_4)
self.pushButton_3 = QtWidgets.QPushButton(self.tab)
self.pushButton_3.setStyleSheet("background-color: rgb(255, 119, 119);")
self.pushButton_3.setObjectName("pushButton_3")
self.horizontalLayout.addWidget(self.pushButton_3)
self.formLayout.setLayout(7, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout)
self.verticalLayout_2.addLayout(self.formLayout)
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setStyleSheet("background-color: rgb(255, 252, 152);\n"
"")
self.tab_2.setObjectName("tab_2")
self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_2)
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setStyleSheet("background-color: rgb(143, 255, 143);\n"
"")
self.tab_3.setObjectName("tab_3")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_3)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.tabWidget.addTab(self.tab_3, "")
self.tab_4 = QtWidgets.QWidget()
self.tab_4.setStyleSheet("background-color: rgb(136, 230, 250);")
self.tab_4.setObjectName("tab_4")
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_4)
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.verticalLayout_3 = QtWidgets.QVBoxLayout()
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.verticalLayout_6.addLayout(self.verticalLayout_3)
self.tabWidget.addTab(self.tab_4, "")
self.tab_5 = QtWidgets.QWidget()
self.tab_5.setObjectName("tab_5")
self.tabWidget.addTab(self.tab_5, "")
self.pushButton = QtWidgets.QPushButton(Dialog)
self.pushButton.setGeometry(QtCore.QRect(330, 460, 169, 27))
self.pushButton.setStyleSheet("background-color: rgb(255, 255, 255);")
self.pushButton.setObjectName("pushButton")
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(0)
self.pushButton.clicked.connect(Dialog.accept) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
Dialog.setTabOrder(self.tabWidget, self.checkBox_2)
Dialog.setTabOrder(self.checkBox_2, self.checkBox_3)
Dialog.setTabOrder(self.checkBox_3, self.checkBox_4)
Dialog.setTabOrder(self.checkBox_4, self.checkBox_5)
Dialog.setTabOrder(self.checkBox_5, self.checkBox_6)
Dialog.setTabOrder(self.checkBox_6, self.checkBox_7)
Dialog.setTabOrder(self.checkBox_7, self.checkBox_8)
Dialog.setTabOrder(self.checkBox_8, self.checkBox_9)
Dialog.setTabOrder(self.checkBox_9, self.checkBox_10)
Dialog.setTabOrder(self.checkBox_10, self.checkBox_11)
Dialog.setTabOrder(self.checkBox_11, self.checkBox_12)
Dialog.setTabOrder(self.checkBox_12, self.checkBox_13)
Dialog.setTabOrder(self.checkBox_13, self.checkBox_14)
Dialog.setTabOrder(self.checkBox_14, self.pushButton_4)
Dialog.setTabOrder(self.pushButton_4, self.pushButton_3)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.checkBox_2.setText(_translate("Dialog", "Карнон"))
self.checkBox_9.setText(_translate("Dialog", "Однолапый"))
self.checkBox_3.setText(_translate("Dialog", "Корбин"))
self.checkBox_10.setText(_translate("Dialog", "Стальные рога"))
self.checkBox_4.setText(_translate("Dialog", "Круцбек"))
self.checkBox_11.setText(_translate("Dialog", "Сэр Валадир"))
self.checkBox_5.setText(_translate("Dialog", "Лорд Хартон"))
self.checkBox_12.setText(_translate("Dialog", "Талия"))
self.checkBox_6.setText(_translate("Dialog", "Мордог"))
self.checkBox_13.setText(_translate("Dialog", "Тренлой Сильный"))
self.checkBox_7.setText(_translate("Dialog", "Нанок-Клинок"))
self.checkBox_14.setText(_translate("Dialog", "Элиам"))
self.checkBox_8.setText(_translate("Dialog", "Нара-Клык"))
self.pushButton_4.setText(_translate("Dialog", "Хочу всех!"))
self.pushButton_3.setText(_translate("Dialog", "Не хочу всех!"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "Воины"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "Маги"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "Разведчики"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Dialog", "Поддержка"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("Dialog", "Адьютанты"))
self.pushButton.setText(_translate("Dialog", "Возвертаться"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
I deleted most of the code with the lists and their analysis. If you move the buttons and checkboxes to the main window, then the functions work as expected, everything is activated.
There is only one problem: the button or the checkbox in the dialog box is not activated.
本文标签: Not activated the widgets of the dialog box made in Qtdesigner PyQt5Stack Overflow
版权声明:本文标题:Not activated the widgets of the dialog box made in Qt-designer PyQt5 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1744055561a2525783.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论