0


QT中TableView数据展示

QT中TableView数据展示

最近在学习QT,大量数据从数据库取出放入QT界面中展示,这时用到了tableView,一些简单的使用分享给大家。

创建数据模型

QStandardItemModel *model=new QStandardItemModel();

QStandardItemModel是Qt库中的一个类,它是QAbstractItemModel的一个子类。它可以用来存储和管理数据,并且可以通过Qt视图类(如QListView、QTreeView等)来显示这些数据。

设置表头信息并且绑定tableview

    QStandardItemModel *model=new QStandardItemModel();
    //设置表头
    model->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"年龄"<<"性别");
    //设置大小
    this->ui->tableView->resize(400,400);
    //绑定数据模型
    this->ui->tableView->setModel(model);
    //使得列宽可以通过鼠标变动
    this->ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive) 

自定义填充数据并分颜色展示

 for (int var = 0; var < 100; ++var) {
        QString age=QString::number(0+var);
        model->setItem(var,0,new QStandardItem("张三"));
        model->setItem(var,1,new QStandardItem(age));
        model->setItem(var,2,new QStandardItem("男"));
        //设置文本格式剧中
        model->item(var,0)->setTextAlignment(Qt::AlignCenter);
        model->item(var,2)->setTextAlignment(Qt::AlignCenter);
        model->item(var,1)->setTextAlignment(Qt::AlignCenter);
        //设置年龄为奇数的时候红色展示
        if( age.toInt()%2!=0){
            model->item(var,0)->setBackground(QBrush(Qt::red));
            model->item(var,2)->setBackground(QBrush(Qt::red));
            model->item(var,1)->setBackground(QBrush(Qt::red));
        }else{
             //设置年龄为偶数的时候绿色色展示
            model->item(var,0)->setBackground(QBrush(Qt::green));
            model->item(var,2)->setBackground(QBrush(Qt::green));
            model->item(var,1)->setBackground(QBrush(Qt::green));
        }
    }

数据展示

设置鼠标右击事件

  //设置点击触发局部菜单
    this->ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
    //设置局部菜单事件栏
    connect(this->ui->tableView,&QTableView::customContextMenuRequested,this,&Widget::testRight);
void Widget::testRight(QPoint pos)
{
    Q_UNUSED(pos);
    QMenu menu;
    //添加右键菜单的选项
    menu.addAction("测试",this,&Widget::test);
    //显示menu菜单并设置其显示位置为鼠标位置
    menu.exec(QCursor::pos());
​
}

设置右击触发事件函数

效果展示

标签: qt ui 开发语言

本文转载自: https://blog.csdn.net/qq_61075376/article/details/129351114
版权归原作者 send. 所有, 如有侵权,请联系我们删除。

“QT中TableView数据展示”的评论:

还没有评论