• 7066阅读
  • 4回复

[提问]QSqlTableModel与QTableView数据显示问题 [复制链接]

上一主题 下一主题
离线sword_master
 

只看楼主 倒序阅读 楼主  发表于: 2014-04-02
如果使用数据模型 有没有可能让QTableView里面的某列的item是我自定义的控件 比如combobox 例如:
姓名  年龄   班级  科目   分数
张三   12        1     语文    80
....
1.科目这一栏我想用combobox来表示 有什么好的方法吗
2.如果科目这个字段在数据库里是以int来存储的 比如 语文是0 数学是1 ...而显示的时候是按汉字来显示 这个能做到吗?

如果用QSqlTableModel做不了的话 有什么比较简便的方法?
??
离线XChinux

只看该作者 1楼 发表于: 2014-04-02
自定义编辑器,需要自己写个delegate。显示问题,这个你可以直接直接从QSqlTableModel派生一个类,重新实现其data()方法,对其Qt::DisplayRole做特殊返回。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sword_master

只看该作者 2楼 发表于: 2014-04-07
回 XChinux 的帖子
XChinux:自定义编辑器,需要自己写个delegate。显示问题,这个你可以直接直接从QSqlTableModel派生一个类,重新实现其data()方法,对其Qt::DisplayRole做特殊返回。 (2014-04-02 23:09) 

哦 好回去研究一下 delegate
还有一个问题就是用 QSqlTableModel 和 QTableView 进行一般的插入操作
model.setTable("user");
model.insertRow(0,1);
model.setData(model.index(0,0),"123");
......
model.submitAll();
这些操作做完插入成功 view里面会多出几个空白行 而且是有规律的
插入后有几行数据 就多出几个空白行  这个是怎么回事?
??
离线84211698

只看该作者 3楼 发表于: 2014-05-07
回 XChinux 的帖子
XChinux:自定义编辑器,需要自己写个delegate。显示问题,这个你可以直接直接从QSqlTableModel派生一个类,重新实现其data()方法,对其Qt::DisplayRole做特殊返回。 (2014-04-02 23:09) 

恩,我也有同样问题,如果数据库是1,tableview以checkbox方式显示大挑。
能再说的详细些吗,或者看什么参考
离线sword_master

只看该作者 4楼 发表于: 2014-05-25
回 84211698 的帖子
84211698:恩,我也有同样问题,如果数据库是1,tableview以checkbox方式显示大挑。
能再说的详细些吗,或者看什么参考 (2014-05-07 21:02) 

你搜一下  网上有总结的四种方法 在tableView里加入checkBox的
??
快速回复
限100 字节
 
上一个 下一个