• 13633阅读
  • 12回复

怎样使QTableview的第一例使用CheckBox [复制链接]

上一主题 下一主题
离线aliha
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-02
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
    我自己写了一个Model,第一例为是否处理标志,在Flags函数中返回Qt::ItemIsUserCheckable;Data函数中也做了相应的设置,程序运行时,也显示了CheckBox框,

但是点击却无效,也就是说只能显示不能修改。如果用Delegate来产生一个Checkbox,要双击才能弹出来,而且显示效果不理想

     请问,还要做什么设置吗?
离线duduqq

只看该作者 1楼 发表于: 2009-07-02
离线aliha
只看该作者 2楼 发表于: 2009-07-03
引用第1楼duduqq于2009-07-02 17:39发表的  :
http://www.qtcn.org/bbs/read.php?tid=13609
看这贴



该贴和我的情况有点不同,他用了QTableWidgetItem,但我的Model是自己写的,用QtableView来显示,没有用到QTableWidgetItem
当然,可以考虑用QStandardItem,但因为我要显示的列特别多,比较麻烦,就直接重载了Model的data函数来显示
我是Qt初学者,不知这种方法是不是最有效的,请各位指教!
[ 此帖被aliha在2009-07-03 08:40重新编辑 ]
离线feiying888

只看该作者 3楼 发表于: 2009-07-03
不知楼主的问题解决了没

我也做过类似的功能。 我用的QStandardItemModel + QTableView的形式。
然后,设置void QStandardItem::setCheckable ( bool checkable )。就行了。
离线awolfa
只看该作者 4楼 发表于: 2009-07-03
楼上正解
一头扎进Qt
离线foxyz

只看该作者 5楼 发表于: 2009-07-03
Qt::ItemIsUserCheckable 这个函数不是获得是否已经被check了。而是是否该项能被check or uncheck
(It can be checked or unchecked by the user.)
离线aliha
只看该作者 6楼 发表于: 2009-07-03
必须要用QStandardItem吗?如果没有用QStandardItem,到哪儿调用setCheckable ( bool checkable )
我现在没有用这个类,而是实现从QAbstractTableModel继承的一个类,自己组织数据
我不知道这样做,是不是最佳做法,也考虑过用QStandardItem来,但当表格比较大时,会不会有效率的问题?
离线feiying888

只看该作者 7楼 发表于: 2009-07-03
至于用QStandardItem的效率问题,你可以写几行代码做个小测试。

我做的表格有几百个Item吧,没感觉到慢。
离线feiying888

只看该作者 8楼 发表于: 2009-07-03
至于用QStandardItem的效率问题,你可以写几行代码做个小测试。

我做的表格有几百个Item吧,没感觉到慢。
离线feiying888

只看该作者 9楼 发表于: 2009-07-03
至于用QStandardItem的效率问题,你可以写几行代码做个小测试。

我做的表格有几百个Item吧,没感觉到慢。
离线feiying888

只看该作者 10楼 发表于: 2009-07-04
不好意思,昨天网速可能太慢,导致重复发了三个一样的帖子,如管理员看到,请帮忙删除两个。
离线naruto

只看该作者 11楼 发表于: 2012-07-27
引用第3楼feiying888于2009-07-03 08:51发表的  :
不知楼主的问题解决了没
我也做过类似的功能。 我用的QStandardItemModel + QTableView的形式。
然后,设置void QStandardItem::setCheckable ( bool checkable )。就行了。

你好,请问你使用QStandardItemModel + QTableView的形式是如何实现的?我现在先只做一个表格,表格里面中有三列的内容都是复选框的形式,我直接使用model->item(1,1)->setCheckable(ture)时程序会异常终止
离线z55716368

只看该作者 12楼 发表于: 2015-05-09
要怎么用哪个check啊 好着急
每一个问题 都是一次进步
快速回复
限100 字节
 
上一个 下一个