• 12101阅读
  • 8回复

Qt4.4.0里QSqlTableModel +QTableView的问题? [复制链接]

上一主题 下一主题
离线crash3
 

只看楼主 倒序阅读 楼主  发表于: 2008-08-12
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
      我想做一个表格。为了实现model与view分离,我用QSqlTableModel +QTableView的模式来实现。问题1:怎么实现表格里某个单元格不可编辑?
        2:怎么实现表格里某个单元格设置背景色?
    请问各位大虾,我要怎样才能实现以上功能
离线lugaideath

只看该作者 1楼 发表于: 2008-08-12
开源版的源码包里面又例子的,找找看吧,我见过的!
离线XChinux

只看该作者 2楼 发表于: 2008-08-12
设置QTableView的editTrigger属性。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线crash3

只看该作者 3楼 发表于: 2008-08-12
单元格是否可以编辑可以在edit(const QModelIndex &index, EditTrigger trigger, QEvent *event)中实现,但是背景色呢?我没找到,希望高手提示一下
离线crash3

只看该作者 4楼 发表于: 2008-08-12
知道了。用ItemDataRole实现。
离线ihope2004
只看该作者 5楼 发表于: 2008-09-28
刚注册,看到这个问题,其实很简单
问题1:怎么实现表格里某个单元格不可编辑?
      重载QSqlTableModel 的flag()函数,对应ModelIndex返回false就可以了
        2:怎么实现表格里某个单元格设置背景色?
      这个有两个方法。一是Model的data函数BackgroundColorRole返回自己想要的颜色。
    二是子类化QItemDelegate,自己实现Paint()函数。
离线yleesun

只看该作者 6楼 发表于: 2008-12-10
引用第5楼ihope2004于2008-09-28 16:16发表的  :
刚注册,看到这个问题,其实很简单
问题1:怎么实现表格里某个单元格不可编辑?
? ? ? 重载QSqlTableModel 的flag()函数,对应ModelIndex返回false就可以了
? ? ? ? 2:怎么实现表格里某个单元格设置背景色?
? ? ? 这个有两个方法。一是Model的data函数BackgroundColorRole返回自己想要的颜色。
.......

应该是QModelIndex的
Qt::ItemFlags flags () const 方法
[ 此贴被yleesun在2008-12-10 10:40重新编辑 ]
离线yleesun

只看该作者 7楼 发表于: 2008-12-10
引用第6楼yleesun于2008-12-10 10:30发表的  :
应该是QModelIndex的
Qt::ItemFlags flags () const 方法
离线jinyu
只看该作者 8楼 发表于: 2009-04-16
设置表格里的某个单元格不可以编辑通过重写flag函数的确可以,我试成功了,可是为什么不用调用flag就可以呢?机制是什么?
设置背景色不清楚怎么做呢?详细说下吧。高手指点下吧
快速回复
限100 字节
 
上一个 下一个