撤消Qt中QTableWidget的单个单元格
Undo for individual cells of QTableWidget in Qt?
我的主窗口类中有一个QTableWidget。我找不到可以撤消指定单元格的文本更改的功能。我想做的是:
void myCellUndoFunc(int row, int col)
{
table->item(row, col)->undo(); //table is my QTableWidget
}
问题是没有这样的undo()。所以我的问题是,是否可以使用SIGNAL的&SLOT?
谢谢!
附言:请不要建议使用模型/视图框架,因为我在应用程序中广泛使用了QTableWidget。同样的抱歉。
也许你应该使用
void QTableWidgetItem::setData ( int role, const QVariant & value ) [virtual]
使用Qt::UserRole可以指定最后一个值。在您的方法中,您可以使用data()-method访问以前设置的值。你唯一要做的就是始终保持旧的价值。
在设置QTableWidgetItem 的新值之前
tw->setData(Qt::UserRole, tw->text())
在撤消时,你可以用检索数据
tw->setText(tw->data(Qt::UserRole).toString())
其中"tw"是使用contextmenu事件、单击的事件或您想要的任何内容的当前QTableWidgetItem。您还可以对QTableWidgetItem进行子类化,并在类中内部处理这整件事,创建一个undo()方法,存储旧值等。
相关文章:
- 将QIcon添加到QTableView单元格
- 当用户在qtablewidget中输入单元格时,如何获得信号?C++
- 查找矩阵中单元格的相邻元素
- C++:在多个线程中访问同一数组/向量的不同单元格是否会产生数据竞赛?
- 当我使用需要计算数组单元格地址的模板时,奇怪的C++行为
- PyQT - 在 QTableWidget 单元格中显示垂直文本
- 2D 数组,某些单元格保存特定数据
- 为什么通过定义另一个指针单元格,整个代码停止工作?
- CLI/C++dataGridView示例-设置comobox单元格列表的索引
- 用单元格表示迷宫
- 为什么不能使用 setData() 在 QTreeView 中设置单元格的背景颜色?
- 将 GtkTreeView 中的单元格设置为以编程方式编辑模式
- 如何防止Qt中的当前单元格更改信号或跳过"processing"?
- 将当前多边形数据单元与下一个多边形单元格 - VTK 进行比较
- VTK:尝试使用 vtkrubberbandpick&vtkHardwareSelector 选择区域中的可见单元格
- QTableWiget::cellChanged 信号不会为具有 QTableWidgetItem 的单元格发出
- 当存在空单元格时,用于 c++ 的 Tsv 文件解析器会突然结束
- C++ unordered_map<T,int> 如何区分空单元格和 0
- 撤消Qt中QTableWidget的单个单元格
- 如何在CListCtrl中拆分单个单元格