QTableView 并双击一个单元格

Posted

技术标签:

【中文标题】QTableView 并双击一个单元格【英文标题】:QTableView and double click on a cell 【发布时间】:2013-09-27 18:46:28 【问题描述】:

我正在开发一个测试用例编辑器。此编辑器包含 USART 一种发送和接收数据包格式。编辑器是一个表格视图。

发送和接收包长8个字节,例如:

0x01 0x02 0x03 ... 0x08

它在我的第五和第六列。现在,我希望此列中的单元格是只读的,但是当我双击这些列中的任何单元格时,会显示一个弹出窗口小部件。此小部件将在文本编辑中包含八个框,用户可以在其中输入数据包格式(即八字节长)数据。我可以轻松地将这些数据从弹出窗口小部件复制回后端的只读单元格。

这将取消用户的所有策略,例如每个字节之间是否应该有空格。因此,这将消除潜在的人为错误。

1:是否有双击表格视图单元格的事件处理程序?

2:我可以为同一列的每个单元格设置一个通用的双击处理程序吗?

3:如何使特定列的单元格在表格视图中只读,同时保留我可以在最后(即返回)更改其值的事实?

【问题讨论】:

【参考方案1】:

1:是否有双击表格单元格的事件处理程序 查看。

注意,您应该使用信号而不是事件:

void doubleClicked(const QModelIndex & index)

2:我可以为相同的每个单元格设置一个通用的双击处理程序吗? 列。

是的,您可以为每个信号处理上述信号。

3:如何使特定列的单元格在表格中只读 查看,同时保留我可以在 结束(即返回)。

这是您需要根据自己的意愿为模型索引设置的标志(即只读或读写):

Qt::ItemIsEditable 2 It can be edited.

【讨论】:

以上是关于QTableView 并双击一个单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何从 QTest 单元测试中编辑 QTableView 单元格?

如何在 QTableView 单元格角落绘制三角形以显示可以从列表中选择的模型数据?

带有jQuery的Javascript:单击并双击相同的元素,不同的效果,一个禁用另一个

QT QTableview QItemDelegate 简单使用

QT控件之Qtable Widget

在表格单元格中显示复杂内容时,Quasar qTable 的 q-td 上的 Id 值