QSqlTableModel与QTableView数据显示问题

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

如果用QSqlTableModel做不了的话 有什么比较简便的方法?
...全文
912 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxc川仔 2016-02-19
  • 打赏
  • 举报
回复
请问楼主是怎样,将int型数据传进去的啊?
Sword-Master 2014-04-21
  • 打赏
  • 举报
回复
引用 8 楼 xiaoxiaoa2 的回复:
[quote=引用 6 楼 a2865285 的回复:] 研究了一天 还是没解决啊.. 初始化的时候 view里面还是int型的数字 而且看不到combox控件 当双击的时候 combox才会出来 当我修改 submitAll之后 view被刷新 combox控件又没了 而数据又变成了int型.. 现在就是想让 初始化的时候 view里面直接就是显示的combox控件 而且显示的是对应的字符串 不是数据库里的整数; submitAll()之后 新的数据如何保持显示不变 求帮忙啊
网上有很多类似的例子 http://devbean.blog.51cto.com/448512/271255/ http://qimo601.iteye.com/blog/1539147[/quote] 啊 谢谢拉 搞定了 原来 还差一个paint函数没有写
Sword-Master 2014-04-19
  • 打赏
  • 举报
回复
引用 8 楼 xiaoxiaoa2 的回复:
[quote=引用 6 楼 a2865285 的回复:] 研究了一天 还是没解决啊.. 初始化的时候 view里面还是int型的数字 而且看不到combox控件 当双击的时候 combox才会出来 当我修改 submitAll之后 view被刷新 combox控件又没了 而数据又变成了int型.. 现在就是想让 初始化的时候 view里面直接就是显示的combox控件 而且显示的是对应的字符串 不是数据库里的整数; submitAll()之后 新的数据如何保持显示不变 求帮忙啊
网上有很多类似的例子 http://devbean.blog.51cto.com/448512/271255/ http://qimo601.iteye.com/blog/1539147[/quote]
引用 8 楼 xiaoxiaoa2 的回复:
[quote=引用 6 楼 a2865285 的回复:] 研究了一天 还是没解决啊.. 初始化的时候 view里面还是int型的数字 而且看不到combox控件 当双击的时候 combox才会出来 当我修改 submitAll之后 view被刷新 combox控件又没了 而数据又变成了int型.. 现在就是想让 初始化的时候 view里面直接就是显示的combox控件 而且显示的是对应的字符串 不是数据库里的整数; submitAll()之后 新的数据如何保持显示不变 求帮忙啊
网上有很多类似的例子 http://devbean.blog.51cto.com/448512/271255/ http://qimo601.iteye.com/blog/1539147[/quote] 好 我去看看
xiaoxiaoa2 2014-04-18
  • 打赏
  • 举报
回复
引用 6 楼 a2865285 的回复:
研究了一天 还是没解决啊.. 初始化的时候 view里面还是int型的数字 而且看不到combox控件 当双击的时候 combox才会出来 当我修改 submitAll之后 view被刷新 combox控件又没了 而数据又变成了int型.. 现在就是想让 初始化的时候 view里面直接就是显示的combox控件 而且显示的是对应的字符串 不是数据库里的整数; submitAll()之后 新的数据如何保持显示不变 求帮忙啊
网上有很多类似的例子 http://devbean.blog.51cto.com/448512/271255/ http://qimo601.iteye.com/blog/1539147
xiaoxiaoa2 2014-04-18
  • 打赏
  • 举报
回复
你应该没搞对委托,提交数据后记得刷新model
Sword-Master 2014-04-17
  • 打赏
  • 举报
回复
研究了一天 还是没解决啊.. 初始化的时候 view里面还是int型的数字 而且看不到combox控件 当双击的时候 combox才会出来 当我修改 submitAll之后 view被刷新 combox控件又没了 而数据又变成了int型.. 现在就是想让 初始化的时候 view里面直接就是显示的combox控件 而且显示的是对应的字符串 不是数据库里的整数; submitAll()之后 新的数据如何保持显示不变 求帮忙啊
Sword-Master 2014-04-16
  • 打赏
  • 举报
回复
引用 4 楼 xiaoxiaoa2 的回复:
你这个好像是超简单的。我是想搞个虚拟列,不知道怎么搞……
我学习了下delegate.. 但是现在有个问题 就是初始化的时候 数据库里的字段是个整形 我的combobox也被初始化整形了 我想让显示对应的字符串 有没有比较简便的方法 还有在写入数据库时 combobox里的字符串我要转换为相应的int 这个步骤写在哪里- -
xiaoxiaoa2 2014-04-15
  • 打赏
  • 举报
回复
你这个好像是超简单的。我是想搞个虚拟列,不知道怎么搞……
Sword-Master 2014-04-07
  • 打赏
  • 举报
回复
貌似要用托管 delegate 我回去研究一下
Sword-Master 2014-04-07
  • 打赏
  • 举报
回复
引用 1 楼 sdu_sky 的回复:
QTableWidget可以添加控件
但是QTableWidget没法用setModel啊...
sdu_sky 2014-04-04
  • 打赏
  • 举报
回复
QTableWidget可以添加控件

16,199

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧