教你如何实现QTableView的文本居中

2014年5月2日 由 Creater 留言 »

我查看了API,好像没有设置QTableView居中的地方,但是还好,这点小问题是难不倒勤劳的中国人民,阅读API介绍的文档后,知道重载函数是可以实现的。

默认的QSqlTableModel是没有居中的,所以我需要派生一个自己的SqlTableModel,OK,看代码就行。

class SqlTableModel : public  QSqlTableModel
{
public:
    SqlTableModel(QObject *parent = 0) :
        QSqlTableModel(parent)
    {}
    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const
    {
        if(index.isValid() && role == Qt::TextAlignmentRole)
        {
            return  int(Qt::AlignCenter);
        }
        return QSqlTableModel::data(index, role);
    }
};

将你得代码中的QSqlTableModel换成我的SqlTableModel就成了。。
Enjoy..

广告位

评论已关闭.