单击按钮时执行按键序列

我正在尝试使用 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 Sequence

def undoButtonPressed(self):

    # Execute Ctrl+Z Key Sequence

我想知道这是否可能。如果不是,我是否应该在单独的变量中维护 PlainTextArea 的先前值和当前值,并相应地设置 PlainTextArea 的值?


胡说叔叔
浏览 106回答 1
1回答

侃侃尔雅

您不必启动快捷方式来启用重做或撤消,只需调用插槽redo()并undo()在按下按钮时:self.undoButton.clicked.connect(self.anyPlainTextEdit.undo) self.redoButton.clicked.connect(self.anyPlainTextEdit.redo)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python