在QTableWidget上执行撤消和重做操作
我正在使用在QTableWidget上执行撤消和重做操作,qt,qtablewidget,qmodelindex,Qt,Qtablewidget,Qmodelindex,我正在使用QTableWidget显示一个表格以绘制一个图形。用户可以执行以下操作:输入、复制、剪切和粘贴、添加行、添加列、插入、删除等。所有这些操作都应堆叠起来,以便用户可以撤消或重做所有操作 我查看了quondostack,但在QTableWidget的上下文中,我不确定要将哪些数据或对象推送到堆栈中。因为对我来说,您必须记住从quondostack继承的类中编辑之前和之后的值,以便undo()和redo())可以恢复您想要的状态您已经有了QUNDO命令吗?实际上,您需要创建一个继承自QUn
QTableWidget
显示一个表格以绘制一个图形。用户可以执行以下操作:输入、复制、剪切和粘贴、添加行、添加列、插入、删除等。所有这些操作都应堆叠起来,以便用户可以撤消或重做所有操作
我查看了
quondostack
,但在QTableWidget
的上下文中,我不确定要将哪些数据或对象推送到堆栈中。因为对我来说,您必须记住从quondostack
继承的类中编辑之前和之后的值,以便undo()
和redo())
可以恢复您想要的状态您已经有了QUNDO命令吗?实际上,您需要创建一个继承自QUndoCommand的类。这里我只管理添加和删除项目。但是这里是表数据。但是添加行、列和插入的内容是什么呢?如果我只存储数据。首先,你必须写下你必须做的所有操作以及正在发生的变化。例如:编辑单元格时,必须记住行、列和2个字符串。添加行,然后您必须记住它是在哪里添加的。删除行、行索引和行数据