四十二、Qt之QTableView之单元格内文字居中、根据内容自动调整列宽

一、单元格内文字居中

CustomSqlQueryModel.h

#ifndef CUSTOMSQLQUERYMODEL_H
#define CUSTOMSQLQUERYMODEL_H

#include <QObject>
#include <QSqlQueryModel>

class CustomSqlQueryModel : public QSqlQueryModel
{ 
public:
    CustomSqlQueryModel(QObject *parent = 0);

    // QAbstractItemModel interface
public:
    QVariant data(const QModelIndex &index, int role) const override;
};

#endif // CUSTOMSQLQUERYMODEL_H

CustomSqlQueryModel.cpp

#include "customsqlquerymodel.h"

CustomSqlQueryModel::CustomSqlQueryModel(QObject *parent) : QSqlQueryModel(parent)
{ 

}
/** * @brief 实现单元格内文字居中 */
QVariant CustomSqlQueryModel::data(const QModelIndex &index, int role) const
{ 
    QVariant value = QSqlQueryModel::data(index, role);
    /** * 单元格内容居中 */
    if (Qt::TextAlignmentRole == role) { 
        value = Qt::AlignCenter;
    }
    return value;
}

二、常用设置

    //选择行为:行选择
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    
    //选择模式:单选(PS:还有一种模式是多选,按住 ctrl 多选)
    ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
    
    //隔行变色
    ui->tableView->setAlternatingRowColors(true);
    
    //根据内容自动调整列宽
    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

	//最后一行是否铺满剩余空间
    ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
    原文作者:咸鱼最牛逼
    原文地址: https://blog.csdn.net/panchang199266/article/details/104705093
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞