QTableView和双击单元格

3

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

发送和接收数据包长度为8字节,例如:

0x01 0x02 0x03 ... 0x08

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

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

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

2:我能否对同一列的每个单元格有一个共同的双击处理程序?

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

enter image description here

1个回答

5

1: 是否有一个用于在表格视图中双击单元格的事件处理程序。

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

void doubleClicked(const QModelIndex & index)

2: 我可以为同一列的每个单元格拥有共同的双击处理程序吗?

是的,你可以为每个单元格处理上述信号。

3: 如何在保留事实(即可更改其值)的情况下使表格视图中特定列的单元格只读。

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

Qt::ItemIsEditable 2 它可以被编辑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接