• 9148阅读
  • 3回复

请教QTableWidget表格中行选择问题 [复制链接]

上一主题 下一主题
离线bangqianchen
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-19
— 本帖被 XChinux 执行加亮操作(2008-09-20) —
使用QTableWidget做了一个表格,设置选择的模式为:
    setSelectionBehavior(QAbstractItemView::SelectRows);
    setSelectionMode(QAbstractItemView::SingleSelection);
使用时我想实现如下两种情形:
1。双击某一行时,要弹出一个对话框显示选中行的信息(修改内容),此时选中行的颜色仍然高亮而不是消失为普通颜色。当对话框关闭后,原来选中的行仍为高亮。

2。当该表格失去控制焦点时,上一次选择的行的信息变为无效。
   我发现失去焦点后表格还记录上次选择的行而又没有高亮显示。因为我删除行时碰到了这样的问题。表格外有一个button来删除表格中选中的行,如果先点表格选中某行,此时如果点击其它控件让表格失去焦点,表格选中的高亮消失,然后再点击删除button进行删除,它会把上次选中的行删除,而此时表格中并没有高亮显示上次选中的行。这样就可能在用户不知情的情况下就把某行删除了,感觉很不爽。

不知道使用那个API了,知道的麻烦讲一下!或者提供一个解决方案也行,不胜感激!

离线bangqianchen

只看该作者 1楼 发表于: 2008-09-19
其实目的只有一个,只要实现表格中有选择的项,就让该项处于高亮,让人一眼就明白,那怕是默认的选择项。没有选择,就是普通显示。因为在删除时还碰到一个问题,比如表格有4行,现在删除第4行后,它默认的选择行就是第3行了,但又没有高亮。因此如果一直点删除按钮,就能从后面逐一删除所有行。而我设置可删除的条件就是当前有没有被选中的行(currentItem()是否为NULL)。
离线kerry_wei
只看该作者 2楼 发表于: 2010-03-03
碰到了同样的问题,呵 ,没人回答么?
离线sun3004

只看该作者 3楼 发表于: 2011-05-11
我也碰到了,怎么解决呢?
快速回复
限100 字节
 
上一个 下一个