• 3994阅读
  • 2回复

想实现两列多行的一个带网格表格展示界面,已自己重载解决,多谢 [复制链接]

上一主题 下一主题
离线vc_2003
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-17
想实现两列多行的一个带网格表格展示界面,用qtable多了垂直序号列,用qlistvew不能有网格。

qtable如何去掉verticalHeader ()?
qlistview如何实现显示网格?
[ 此帖被vc_2003在2009-06-17 16:04重新编辑 ]
离线vc_2003
只看该作者 1楼 发表于: 2009-06-17
用qlistview重载paintcell实现。

class GridVListItem : public QListViewItem {
public:
    GridVListItem( QListView*parent ) : QListViewItem( parent ){}
    GridVListItem( GridVListItem*parent ) : QListViewItem( parent ){}
    GridVListItem( QListView*parent, GridVListItem*after ) : QListViewItem( parent, after ){}
    GridVListItem( MyVListItem*parent, GridVListItem*after ) : QListViewItem( parent, after ){}
    
    virtual void paintCell( QPainter *p, const QColorGroup &cg,
        int column, int width, int alignment ){
        QColorGroup _cg( cg );
        QColor c = _cg.text();
                
        int w = width;
        int h = height();
        int x2 = w - 1;
        int y2 = h - 1;
        
        QListViewItem::paintCell( p, _cg, column, width, alignment );
        
        p->setPen( QColor(192, 192, 192) );
        p->drawLine( x2, 0, x2, y2 );
        p->drawLine( 0, y2, x2, y2 );
        
        _cg.setColor( QColorGroup::Text, c );
    }
};
离线shiroki

只看该作者 2楼 发表于: 2009-06-19
好同志, 值得大家学习!
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个