使QTableWidget可逐行编辑,就像MS访问一样
Making QTableWidget editable row by row like with MS access
我已经子类化了QTableWidget来添加一些功能。我也使用了myQTableWidgetSubclass->setRowCount(10);
方法。
问题是该表不可编辑。目标是允许用户逐行编辑,例如,首先是第一行,当准备好时(即用户填写必要的数据),然后是第二行,依此类推。
我需要与"MS 访问表"类似的功能
从理论上讲,这很简单,但人们不会从头开始为你编写代码。
1) 您需要使用void QTableWidgetItem::setFlags(Qt::ItemFlags flags)
使项目可编辑和不可编辑。您可以根据需要对每个项目使用此方法。
请参阅Qt::ItemFlags
文档中的以下枚举值说明:
Qt::ItemIsEditable 2 它可以被编辑。
2)完成后,您需要将自定义插槽连接到刚刚编辑的项目的相应信号。然后,您的插槽将分别重新排列单元格的可编辑功能。
以下是您可能感兴趣的相关信号:
* void QTableWidget::cellChanged(int row, int column) [signal]
* void QTableWidget::currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn) [signal]
* void QTableWidget::currentItemChanged(QTableWidgetItem * current, QTableWidgetItem * previous) [signal]
* void QTableWidget::itemChanged(QTableWidgetItem * item) [signal]
然后,您将需要这样的东西:
connect(myQTableWidgetSubclass, SIGNAL(selectedSignalFromAbove), this, SLOT(mySlotInTheClass));
// ...
void MyClass::mySlotInTheClass(...)
{
// ...
myTableWidgetItemX.setFlags(...);
// ...
}
相关文章:
- 通过方法访问结构
- 访问数据成员(本身是对象)的数据成员,就好像它们是类成员一样
- 访问另一个类(系统)的非静态字段,就好像它是我自己的字段一样 - 优雅地
- 使更长的 std::array 可访问,就好像它更短一样
- 在C 中,可以用语法[i,j,..]实现访问数组元素的功能,而语法就像numpy中的ndarray样式一样
- 我是否可以像访问自己的对象一样访问对象的'base part'?
- 我需要一个像堆栈一样的数据结构,但具有随机访问,但是,我应该实现什么
- 函数来像访问向量一样访问向量中结构的元素
- 如何创建文件路径可以像磁盘一样访问的虚拟文件系统
- 使QTableWidget可逐行编辑,就像MS访问一样
- 那么,是否可以像使用指针一样使用迭代器访问二维向量中的所有元素呢?
- 对结构元素的访问.有没有可能像矢量一样访问
- 需要学习如何通过指针正确访问实例变量"this"就像在 Java 中一样
- 如何像访问数组一样访问Tuple(具有括号重载和类型安全)
- 像访问文件流一样访问内存块(/ C/ c++数组)
- 像数组一样访问指针
- 像数组一样访问std::map的std::映射
- 是否可以像重载另一种类型的成员访问运算符一样解析静态成员
- 像访问数组一样访问c++队列元素
- 如何像直接访问文件一样使用内存:类似于read和fwrite函数