• 8251阅读
  • 7回复

QAbstractItemView::CurrentChanged属性在列表只有1项的时候永远无法触发啊,如何解决? [复制链接]

上一主题 下一主题
离线hcaihao
 

只看楼主 正序阅读 楼主  发表于: 2010-09-05
— 本帖被 XChinux 执行加亮操作(2010-09-05) —
我用到了触发编辑事件,view()->setEditTriggers(QAbstractItemView::CurrentChanged);

当列表框选项只有一项时永远不可能changed,造成无法编辑这一项,请问如何解决,困扰许久了~~~
离线hcaihao

只看该作者 7楼 发表于: 2010-09-06
再顶一下哦
离线hcaihao

只看该作者 6楼 发表于: 2010-09-05
回 4楼(dbzhang800) 的帖子
多谢这位兄弟,我的问题解决了,程序一启动就有一项处于编辑状态ok。

如果想让程序一启动,所有项都处在编辑状态是不是要对每个QModelIndex都调用一下edit?还有没有更加快速的方法?
离线dbzhang800

只看该作者 5楼 发表于: 2010-09-05
引用第3楼hcaihao于2010-09-05 15:33发表的  :
这些都需要满足一些条件才能触发。


这是当然了,你找的这个函数就是设置触发的。

如果你想通过代码控制某项的编辑,说明你找错函数了。
离线dbzhang800

只看该作者 4楼 发表于: 2010-09-05
引用第3楼hcaihao于2010-09-05 15:33发表的  :
我要列表框一开始就全部可以编辑,这些枚举没有满足我要求的,包括用最后一个。
QAbstractItemView::NoEditTriggers 0 No editing possible.
QAbstractItemView::CurrentChanged 1 Editing start whenever current item changes.
.......

不要转移话题好不好? ^_^

你一开始问的是“只有一项时无法触发”,上面你贴的这些选项(或其组合)显然可以消除你的疑问。


你现在问的:一开始就全部可以编辑?(我不清楚你是不是想表达:程序一启动就有一项处于编辑状态)

如果是,问题就太容易解决了,想编辑哪个,就 edit 那个不就行了
  1. void QAbstractItemView::edit ( const QModelIndex & index )

离线hcaihao

只看该作者 3楼 发表于: 2010-09-05
我要列表框一开始就全部可以编辑,这些枚举没有满足我要求的,包括用最后一个。


QAbstractItemView::NoEditTriggers 0 No editing possible.
QAbstractItemView::CurrentChanged 1 Editing start whenever current item changes.
QAbstractItemView::DoubleClicked 2 Editing starts when an item is double clicked.
QAbstractItemView::SelectedClicked 4 Editing starts when clicking on an already selected item.
QAbstractItemView::EditKeyPressed 8 Editing starts when the platform edit key has been pressed over an item.
QAbstractItemView::AnyKeyPressed 16 Editing starts when any key is pressed over an item.
QAbstractItemView::AllEditTriggers 31 Editing starts for all above actions.

这些都需要满足一些条件才能触发。
离线dbzhang800

只看该作者 2楼 发表于: 2010-09-05
是啊,你明知道这个选项不符合要求(有32个值可选,你唯独选QAbstractItemView::CurrentChanged),为何不用符合要求的选项?
离线XChinux

只看该作者 1楼 发表于: 2010-09-05
楼主要达到什么功能?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个