意外的类型 'QKeySequence'
Unexpected type 'QKeySequence'
我在一个名为 EditName 的 class 中有这段代码,它继承了 Ui_MainWindow
来自 PyQt5 的 ui 文件
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'
解决方案是将 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))
我在一个名为 EditName 的 class 中有这段代码,它继承了 Ui_MainWindow
来自 PyQt5 的 ui 文件
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'
解决方案是将 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))