在Python和pyqt5中创建父类

问题描述 投票:1回答:1

我在pyqt5中为多个窗口创建父类时遇到了问题

from PyQt5 import QtWidgets, QtCore, QtGui
from Ui_1 import Ui1

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__()
        for key in (QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter, QtCore.Qt.Key_Down):
            QtWidgets.QShortcut(key, self, partial(self.focusNextPrevChild, True))

class Window1(QtWidgets.QMainWindow, Ui1):
    def __init__(self, parent=None):
        super().__init__()
        self.setupUi(self)
        self.show()

我希望MainWindow的代码能够处理Window1对象。我找到了这个例子:python pyqt and parent class但我不知道如何使用它。

python pyqt pyqt5
1个回答
1
投票

只需要将QtWidgets.QMainWindow更改为MainWindow:

from PyQt5 import QtWidgets, QtCore, QtGui
from Ui_1 import Ui1

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        for key in (QtCore.Qt.Key_Return, QtCore.Qt.Key_Enter, QtCore.Qt.Key_Down):
            QtWidgets.QShortcut(key, self, partial(self.focusNextPrevChild, True))

class Window1(MainWindow, Ui1):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.show()
© www.soinside.com 2019 - 2024. All rights reserved.