3

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

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

0x01 0x02 0x03 ... 0x08

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

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

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

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

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

在此处输入图像描述

4

1 回答 1

5

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

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

void doubleClicked(const QModelIndex & index)

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

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

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

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

Qt::ItemIsEditable 2 It can be edited.

于 2013-09-27T19:00:49.267 回答