首页 > 移动平台 > 详细

Qt on Android:QTableView不显示选中虚框

时间:2014-05-21 16:28:05      阅读:618      评论:0      收藏:0      [点我收藏+]

    在使用 QTableView 或 QTableWidget 时,有时我们不想要选中虚框,可以实现一个 ItemDelegate ,重写 drawFocus() 和 drawCheck()  两个虚函数,然后调用 QAbstractItemView 的 setItemDelegate() 把自定义的 itemDelegate 对象传递给 QTableView 即可。需要注意的是,QAbstractItemView 不会删除你设置给它的 ItemDelegate ,需要开发者自己在合适的时候删除它。

   下面是一个示例, RowDelegate 的代码:

#include <QItemDelegate>

class RowDelegate : public QItemDelegate
{
public:
    RowDelegate(QObject * parent = 0) :QItemDelegate(parent)
    {
    }

    virtual void drawFocus(QPainter *painter, const QStyleOptionViewItem &option,
                           const QRect &rect) const
    {
    }

    virtual void drawCheck(QPainter *painter, const QStyleOptionViewItem &option,
                           const QRect &rect, Qt::CheckState state) const
    {
    }
};

    如你所见,RowDelegate 类的 drawFocus() 和 drawCheck() 嘛事不干,这样就达到了目的。

    对于 QListView 或 QListWidget ,使用上面的代码也可以去掉选中虚框。



Qt on Android:QTableView不显示选中虚框,布布扣,bubuko.com

Qt on Android:QTableView不显示选中虚框

原文:http://blog.csdn.net/foruok/article/details/26286905

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!