首页 > 解决方案 > TypeError:元类冲突:派生类的元类必须是(非严格)

问题描述

我的代码有什么问题?我正在尝试将我的 UI 文件与 python 连接。我几乎可以确定一切,但我无法定义错误是什么。

from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUiType

ui = loadUiType('main.ui')


class MainApp(QMainWindow, ui):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUI(self)


def main():
    app = QApplication(sys.argv)
    window = MainApp()
    window.show()
    app.exex_()


if __name__ == '__main__':
    main()

标签: pythonuser-interfacepyqt5qt-designeruic

解决方案


我不确定 UI 文件加载的“继承”样式应该如何工作。但是,这应该做你想要的:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi


class MainApp(QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        loadUi('main.ui', self)

def main():
    app = QApplication(sys.argv)
    window = MainApp()
    window.show()
    app.exec_()


if __name__ == '__main__':
    main()

推荐阅读