如何实现撤销和重做操作QTableWidget
?
让我们以一个简单的窗口为例QTableWidget
,我们将在其中跟踪击键,组合键Ctrl+Z取消操作,Ctrl+Y重复。
from PyQt5 import QtWidgets, QtCore, QtGui
class Window(QtWidgets.QWidget):
def __init__(self, parent = None):
super(Window, self).__init__(parent)
self.resize(400, 400)
self.tableWidget = QtWidgets.QTableWidget(10, 10)
self.vbox = QtWidgets.QVBoxLayout(self)
self.vbox.addWidget(self.tableWidget)
def keyPressEvent(self, event):
if event.text() == '<0x1a>':
self.tableWidget.undo()
elif event.text() == '<0x19>':
self.tableWidget.redo()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
尝试在下面检查。如果这是您需要的,您可以自己添加键盘快捷键跟踪。