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

摘要:
方法:创建一个模型类以继承QSqlTableModel,然后重新加载数据函数头文件:#ifndefINCOME_model_H#defineINCOME_model_H#includeclassIncome_model:publicQSqlTableModel{public:Income_MModel(QObject*parent=0,QSqlDatabasedb=Q

方法:

创造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控制字体
....

免责声明:文章转载自《QSqlTableModel配合QTableView设置单元格对齐方式和前景色等》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python- 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化oracle传输表空间下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QTableView

The QTableView class provides a default model/view implementation of a table view. More... Header: #include <QTableView> qmake: QT += widgets Inherits: QAbstractItemVi...

QTableView双击 获取 一行数据

QTableView整行选择: selectionBehavior:SelectRows 信号与槽的示例如下,注意信号函数与槽函数的形参为“const QModelIndex & ” connect(cartableView,SIGNAL(doubleClicked(const QModelIndex &)),this,SLOT(car...

QTreeWidget里嵌套表格QTableView

1 InformationPositionSubTableView::InformationPositionSubTableView(QStringList& columnNameList,QList<PositionItem>& positionItemList,QWidget *parent) : m_ColumnNa...

QTableView 固定列宽度(鼠标拖动后,仍可固定)

QTableView 提供一个函数: void QTableView::setColumnWidth ( int column, int width ) 用于设置column指定的列的宽度 但setColumnWidth设置后,用户可以通过鼠标拖拽列头重新设置宽度, 如何固定宽度不变? 联想到QWidget的setFixedWidth, 是不是QTable...