问题描述
我在一个名为 EditName 的类中包含此代码,该类从 PyQt5 的 ui 文件继承 Ui_MainWindow
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'
解决方法
解决办法是用window替换self,因为window是一个widget而self不是。
class EditName(Ui_MainWindow):
def __init__(self,window):
self.setupUi(window)
QShortcut(
QKeySequence('Ctrl+1'),window).activated.connect(
lambda: self.ComboEditType.setCurrentIndex(0))