我正在嘗試使用 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條經驗 獲得超16個贊
您不必啟動快捷方式來啟用重做或撤消,只需調用插槽redo()
并undo()
在按下按鈕時:
self.undoButton.clicked.connect(self.anyPlainTextEdit.undo) self.redoButton.clicked.connect(self.anyPlainTextEdit.redo)
添加回答
舉報
0/150
提交
取消