• QSqlTableModel配合QTableView设置单元格对齐方式和前景色等


    方法:

    创造model类继承QSqlTableModel,然后重载data函数

    头文件:

    #ifndef INCOME_MODEL_H
    #define INCOME_MODEL_H
    
    
    #include <QSqlTableModel>
    
    class Income_Model : public QSqlTableModel
    {
    public:
        Income_Model(QObject * parent = 0, QSqlDatabase db = QSqlDatabase());
        ~Income_Model();
        QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const;
    };
    
    
    #endif // INCOME_MODEL_H

    源文件:

    #include "income_model.h"
    #include <QColor>
    #include <QFont>
    
    Income_Model::Income_Model(QObject * parent, QSqlDatabase db) : QSqlTableModel(parent,db)
    {
    
    }
    
    Income_Model::~Income_Model()
    {
    
    }
    
    QVariant Income_Model::data(const QModelIndex &idx, int role) const
    {
        QVariant value  = QSqlTableModel::data(idx,role);
        if(Qt::TextAlignmentRole == role)
        {
            value   = int(Qt::AlignCenter | Qt::AlignHCenter);
            return value;
        }
        if(Qt::ForegroundRole == role)
        {
            if(3 == idx.column())
                return QVariant(QColor(255,144,144));
        }
        if(Qt::FontRole == role)
        {
            if(3 == idx.column())
            {
                QFont font;
                font.setBold(true);
                return QVariant(font);
            }
        }
        return value;
    }

    其中:

    Qt::TextAlignmentRole控制对齐方式
    Qt::ForegroundRole控制前景色
    Qt::FontRole控制字体
    ....
  • 相关阅读:
    Servlet的生命周期及工作原理
    抓包---firebug
    firebug抓包
    token认证来龙去脉
    性能测试报告注意事项
    性能测试报告
    Error -26601解决办法
    lr新手误区
    css定位
    xpath定位
  • 原文地址:https://www.cnblogs.com/justwake/p/3113634.html
Copyright © 2020-2023  润新知