Создайте родительский класс в Python и pyqt5 - PullRequest
1 голос
/ 09 марта 2019

У меня проблема с созданием родительского класса для нескольких окон в 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 и родительский класс , но я не понимаю, как его использовать.

1 Ответ

1 голос
/ 09 марта 2019

Необходимо только изменить 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...