单击非叶子项目的复选框时,QTreeWidget 未按预期工作。我的 QTreeWidget 有两个级别的子级,可以检查树小部件中的每个项目(每个项目都启用了复选框)。在这个 QTreeWidget 中,叶项是用户可选择的,但非叶项是不可选择的,并且所有项都已启用并且用户可以检查。
[]Family node1
- []Primary node1
- []child1
- []Secondary node1
- []child1
[]Family node2
- []Primary node2
- []child2
- []Secondary node2
- []child2
叶项目标志设置
Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled
非叶子项目标志设置
Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsTristate
当我们直接点击叶子项目的关联复选框时,Qt 正在生成 currentItemChanged() 信号。但是,当我们直接单击非叶子项目的关联复选框时,不会生成 currentItemChanged() 信号。这给非叶子物品的处理带来了不便。
它在 Qt 4.7.4 中运行良好,但在 Qt 4.8.1 中并不能在所有平台(Windows、Darwin 和 Linux)上运行。
我附上了一个示例程序来重现这个错误。
这是错误还是预期行为?
我在 Qt 4.8 的所有平台(Linux CentOS、Windows 7 和 MacOS)上都注意到了这个错误。