在多个实例中重用 PyQt 窗口设计



我在QT设计器中设计了一个窗口,然后将其转换为Python代码。然后我创建了从 PYQT 代码继承的类 A 和类 B。然后我创建第三个类,称为 C,并从类 A 和 B 继承。

from QTfile import *
from PyQt5.QtWidgets import *
class A(QMainWindow):
def __init__(self):
super().__init__()
self.A1= Ui_MainWindow()
self.A1.setupUi(self)
class B(QMainWindow):
def __init__(self):
super().__init__()
self.B1= Ui_MainWindow()
self.B1.setupUi(self)

现在的问题是,当我想使用super().__init__()函数时,我只能启动其中一个。

class C( A,B):
def __init__(self):
super().__init__()

如果我使用A.__init__()B.__init__(),它仅适用于一个类

class C( A,B):
def __init__(self):
A.__init__()
B.__init__()

现在的问题是我如何启动多个类?

如果要在多个窗口实例中重用该设计,可以尝试以下操作:

class BaseWindow(Ui_MainWindow, QMainWindow):
def __init__(self):
Ui_MainWindow.__init__(self)
QMainWindow.__init__(self)
self.setupUi(self)
class A(BaseWindow):
def __init__(self):
super().__init__()
class B(BaseWindow):
def __init__(self):
super().__init__()

最新更新