Неожиданный тип QKeySequence [закрыто]

У меня есть этот код внутри класса EditName, который наследует Ui_MainWindow из файла пользовательского интерфейса PyQt5

      class EditName(Ui_MainWindow):
def __init__(self, window):
    self.setupUi(window)

    QShortcut(
        QKeySequence('Ctrl+1'), self).activated.connect(lambda: self.ComboEditType.setCurrentIndex(0))

Когда я запускаю этот код, он вызывает следующую ошибку. Я поискал, но не нашел решения этой ошибки.

      TypeError: arguments did not match any overloaded call:
  QShortcut(QWidget): argument 1 has unexpected type 'QKeySequence'
  QShortcut(Union[QKeySequence, QKeySequence.StandardKey, str, int], QWidget, member: PYQT_SLOT = 0, ambiguousMember: PYQT_SLOT = 0, context: Qt.ShortcutContext = Qt.WindowShortcut): argument 2 has unexpected type 'EditName'

1 ответ

Решение состоит в том, чтобы заменить self на window, поскольку window является виджетом, а self - нет.

      class EditName(Ui_MainWindow):
    def __init__(self, window):
        self.setupUi(window)

        QShortcut(
            QKeySequence('Ctrl+1'), window).activated.connect(
                lambda: self.ComboEditType.setCurrentIndex(0))
Другие вопросы по тегам