• 6994阅读
  • 10回复

关于tableView的三个问题 [复制链接]

上一主题 下一主题
离线yzpdsg
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-10
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-07-11) —
大家好。我尝试使用tableView来显示数据

可是用起来感觉不太顺手,主要有三个问题
1、如何固定每一栏的宽度?由于directory可能会很长,因此每次都需要拖动才能显示完全,很不方便。而每次重启程序宽度又会重置为默认值。
2、如何右键点击一项内容弹出菜单?
3、如何读出directory中的内容以便验证status?
离线xhxui

只看该作者 1楼 发表于: 2011-07-10
1、设置QTableView的列宽:
//假设你的指针名字是view     //QTableView *view = new QTableView;
view->setColumnWidth(0,300);//第一列
view->setColumnWidth(1,50);//第二列
view->show();//在show之前设置好属性。

2、暂跳过。

3、这个ok代表什么呢?是什么状态?
离线yzpdsg

只看该作者 2楼 发表于: 2011-07-11
回 1楼(xhxui) 的帖子
首先,谢谢回复!

关于OK的解释:如果目录有效(存在),状态就是OK。如果不存在就应该显示ERROR。
离线uidab

只看该作者 3楼 发表于: 2011-07-11
回 楼主(yzpdsg) 的帖子
customContextMenuRequested 这个可以解决右键菜单问题,但是还要你自己写很多东西。

第三个问题有点疑问,你是要读目录的所有文件吗??
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线XChinux

只看该作者 4楼 发表于: 2011-07-11
右键菜单,如果你的菜单在整个tableView中是一样的,则可以设置contextMenuPolicy为Qt::ActionsContextMenu,然后往tableView里添加action就可以了。

否则用customContextMenuRequested.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线yzpdsg

只看该作者 5楼 发表于: 2011-07-14
回 3楼(uidab) 的帖子
不是的,只是验证这个目录是否存在,存在的话就OK,否则就ERROR。
离线uidab

只看该作者 6楼 发表于: 2011-07-14
回 5楼(yzpdsg) 的帖子
那就QDir就可以了,里面有一个bool    exists () const

自己看看,就明白。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线yzpdsg

只看该作者 7楼 发表于: 2011-07-15
回 1楼(xhxui) 的帖子
我尝试了,但是不能改变宽度。是不是我用了布局管理器的原因?
离线xhxui

只看该作者 8楼 发表于: 2011-07-15
回 7楼(yzpdsg) 的帖子
跟布局管理器无关,
是你代码的位置不对。
应该在view->setModel(model);之后
离线yzpdsg

只看该作者 9楼 发表于: 2011-07-16
回 8楼(xhxui) 的帖子
恩,果然是这样。已解决,谢谢!
离线xhxui

只看该作者 10楼 发表于: 2011-07-18
看起来你做的是mp3播放器吧。
那数据量不会太多的,大可不必用数据库了。
用QList容器搞定起来轻松多了。

推荐你到这个网站去下他们做的一个播放器源码,拓展一下思路如何。
http://www.yafeilinux.com/
快速回复
限100 字节
 
上一个 下一个