我正在尝试使用 PyQt5 和 Python 3.7 在 GUI 应用程序中创建撤消和重做按钮。当单击撤消和重做按钮时,应分别执行按键序列“Ctrl+Z”和“Ctrl+Y”。我已经粗略地浏览了 QShortCut 和 QKeySequence 的文档,但它们似乎是为检测按键序列而不是触发它们而设计的。那么如何实现这些按钮呢?根据 eyllanesc 的评论,我添加此内容是为了更好地解释我想要实现的目标。self.undoButton = self.findChild(QtWidgets.QPushButton, 'undoButton')self.undoButton.clicked.connect(self.undoButtonPressed)self.anyPlainTextEdit = self.findChild(QtWidgets.QPlainTextEdit, 'anyPlainTextEdit')# Function to Execute Key Sequencedef undoButtonPressed(self): # Execute Ctrl+Z Key Sequence我想知道这是否可能。如果不是,我是否应该在单独的变量中维护 PlainTextArea 的先前值和当前值,并相应地设置 PlainTextArea 的值?
1 回答
侃侃尔雅
TA贡献1801条经验 获得超15个赞
您不必启动快捷方式来启用重做或撤消,只需调用插槽redo()
并undo()
在按下按钮时:
self.undoButton.clicked.connect(self.anyPlainTextEdit.undo) self.redoButton.clicked.connect(self.anyPlainTextEdit.redo)
添加回答
举报
0/150
提交
取消