Не получается подвязать горячие кнопки в app
Как исправить ошибку? Я пытался привязать горячие клавиши, но у меня не получилось это сделать.
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget
from ui_main import Ui_MainWindow
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QShortcut
import sys
class App(QMainWindow):
def __init__(self):
super(App, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.shortcut_open = QShortcut(QKeySequence('Ctrl+O'), self)
self.shortcut_open.activated.connect(self.on_open)
def on_open(self):
print('Вы нажали: `Ctrl+O`')
if __name__ == "__main__":
app = QApplication(sys.argv)
window = App()
window.show()
sys.exit(app.exec())
Вот ошибка:
TypeError: arguments did not match any overloaded call:
QShortcut(parent: QWidget): argument 1 has unexpected type 'QKeySequence'
QShortcut(key: Union[QKeySequence, QKeySequence.StandardKey, str, int], parent: QWidget, member: PYQT_SLOT = 0, ambiguousMember: PYQT_SLOT = 0, context: Qt.ShortcutContext = Qt.WindowShortcut): argument 2 has unexpected type 'App'
Пытался в классе App QMainWindow cменить на QWidget, но тогда выдает другая ошибка:
AttributeError: 'App' object has no attribute 'setCentralWidget'
Источник: Stack Overflow на русском