PyQt5 - 超級類別__init__()的Type Main從未被呼叫

2024-10-02 04:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

试着用Python制作我的第一个Gui,但是很困难。我在designer里做了些东西:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_ConfigAssign(object):
    def setupUi(self, ConfigAssign):
        ConfigAssign.setObjectName("ConfigAssign")
        ConfigAssign.resize(750, 479)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("exc.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        ConfigAssign.setWindowIcon(icon)
        ConfigAssign.setAutoFillBackground(False)
        ConfigAssign.setStyleSheet("")
        self.centralwidget = QtWidgets.QWidget(ConfigAssign)
        self.centralwidget.setObjectName("centralwidget")
        self.formLayout = QtWidgets.QFormLayout(self.centralwidget)
        self.formLayout.setObjectName("formLayout")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(22)
        self.label_2.setFont(font)
        self.label_2.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.label_2.setObjectName("label_2")
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_2)
        self.label = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(12)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label)
        self.customerlistbox = QtWidgets.QComboBox(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(12)
        self.customerlistbox.setFont(font)
        self.customerlistbox.setMaxVisibleItems(20)
        self.customerlistbox.setObjectName("customerlistbox")
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.customerlistbox)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(12)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_3)
        self.ImportMapButton = QtWidgets.QPushButton(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(12)
        self.ImportMapButton.setFont(font)
        self.ImportMapButton.setObjectName("ImportMapButton")
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.ImportMapButton)
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(12)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
        ConfigAssign.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(ConfigAssign)
        self.statusbar.setObjectName("statusbar")
        ConfigAssign.setStatusBar(self.statusbar)
        self.actionQuit = QtWidgets.QAction(ConfigAssign)
        self.actionQuit.setObjectName("actionQuit")

        self.retranslateUi(ConfigAssign)
        QtCore.QMetaObject.connectSlotsByName(ConfigAssign)

    def retranslateUi(self, ConfigAssign):
        _translate = QtCore.QCoreApplication.translate
        ConfigAssign.setWindowTitle(_translate("ConfigAssign", "Configuration Assignment"))
        self.label_2.setText(_translate("ConfigAssign", "CONFIG ASSIGNMENT"))
        self.label.setText(_translate("ConfigAssign", "Select Client:"))
        self.label_3.setText(_translate("ConfigAssign", "Import CSMConfig Map"))
        self.ImportMapButton.setText(_translate("ConfigAssign", "Browse For Excel File"))
        self.label_4.setText(_translate("ConfigAssign", "Create and Export Dim Assign File"))
        self.actionQuit.setText(_translate("ConfigAssign", "Quit"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ConfigAssign = QtWidgets.QMainWindow()
    ui = Ui_ConfigAssign()
    ui.setupUi(ConfigAssign)
    ConfigAssign.show()
    sys.exit(app.exec_())

我很难把所有的小部件都连接到代码上,让它们显示出来并正常运行。在

^{2}$

我有一个早期的版本,只使用组合框列出所有客户。当我添加更多功能时,我会回到designer添加一个部分,重用pyuic5,然后返回代码并尝试让它做我想要的。对话框的最后一部分也没有工作。但是现在,由于这篇文章标题中的错误,我无法启动应用程序。在

任何帮助都将不胜感激。在


Tags: selflabeltranslatefontqtguirobotoqtwidgetssetobjectname
1条回答
网友
1楼 · 发布于 2024-10-02 04:25:08

尝试将类定义更改为:

class Main(QtWidgets.QMainWindow, Ui_ConfigAssign):

相关问题 更多 >

    热门问题