• 5735阅读
  • 2回复

QTreeView 的问题?qt lib的问题? [复制链接]

上一主题 下一主题
离线water_wf
 

只看楼主 倒序阅读 楼主  发表于: 2008-08-12
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我使用QTreeView->setSelectionModel(mode),
然后connect(qtreeview->selectionModel(),SIGNAL(currentChanged(............)));
来截获item change 消息
在处理函数:currentChanged(const QModelIndex & current, const QModelIndex & previous)
中,我需要首先判断previous所指向的值是否被改变,如果改变则提示用户并且:
setCurrentIndex(previous);
restorestate();
repaintwidget();

我发现如果用键盘改变item,则工作正常,如果用鼠标改变的话,虽然也正常,但是QTreeView 把
current 和previous之间的items全部选中,及时设置了setSelectionMode setSelcctionBehavior也不行,这是怎么回事,用其他办法作,还是是我的方法不对,还是qt的问题?
离线water_wf

只看该作者 1楼 发表于: 2008-08-12
实际上qt只是把current到previous的选项变蓝而已,并没有选中其它的,怎么办呢?
离线water_wf

只看该作者 2楼 发表于: 2008-08-13
使用selectionChanged(const QItemSlectiion &selected ,const QItemSlection &deselected);
可解决
快速回复
限100 字节
 
上一个 下一个