QT中TableView数据展示

这篇具有很好参考价值的文章主要介绍了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));
        }
    }

数据展示

QT中TableView数据展示

设置鼠标右击事件

  //设置点击触发局部菜单
    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中TableView数据展示

效果展示

QT中TableView数据展示

QT中TableView数据展示文章来源地址https://www.toymoban.com/news/detail-506150.html

到了这里,关于QT中TableView数据展示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • qt表格可修改不可修改(qt tableview修改表格内容)

    QTableWidget是QT程序中常用的显示数据表格的控件.qt表格可修改不可修改. 不管是在金融app,还是医疗机械,还是智慧农业,QTableWidget无处不在. QTableWidget的效果大概如下图: 好了,接下来就来教大家如何使用QTableWidget. 首先,它的位置控件在: 注意,不要拖错控件,很多同学容易犯的错误

    2024年02月09日
    浏览(29)
  • qt设置tableview单元大小跟随窗口变化

    设置效果过于离奇。 右侧为代码设置显示效果

    2024年02月11日
    浏览(31)
  • C++ Qt开发:TableView与TreeView组件联动

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍 TableView 与 TreeView 组件联动的常用方法及灵活运用。 本章我们继续实现表格的

    2024年02月04日
    浏览(30)
  • Qt中的 tableView 设置 二进制 十六进制 序号表头

    因为QTableView的垂直表头并不支持使用委托来自定义。 相反,可以通过将自定义的QWidget作为QHeaderView的标签来实现这一目标。 代码: 在这个示例中,自定义了BinaryHeaderView类,继承自QHeaderView, 重写了paintSection方法来绘制二进制序列。然后,将这个自定义的垂直表头应用到了

    2024年04月27日
    浏览(30)
  • 如何让qt tableView每个item中个别字用不同颜色显示?

    从上面图片可以看到,Item为红色,数字5为黑色。 要实现在一个控件实现不同颜色,目前想到的只有QTextEdit 、QLabel。有两种方法,第一种是代理,第二种是通过setIndexWidget函数实现。 QTextEdit 可以实现多种样式,字体,字号,加粗,倾斜,下划线都可以实现。 写一个自定义代

    2024年02月10日
    浏览(26)
  • QT练手小项目-——天气播报小狗(ui展示分析,构造实现,json格式数据分析,界面交互,天气图标处理,小狗语音)

    前言         经过之前一段时间的QT学习,做出一个小软件来总结自己掌握关于qt的知识点。网络上有许多免费的天气接口(api),有xml格式的,也有json格式的。具体xml和json有什么区别,这里我就不去深究了,我们这里用的是一个json格式的数据,所以 重点是对json格式的数据

    2023年04月17日
    浏览(66)
  • ChatGPT之后,下个AIGC杀手级应用已近在眼前

    鱼羊 发自 凹非寺 量子位 | 公众号 QbitAI 大模型模式,正在新一波AIGC的浪潮里被再度验证。 从AI画画的出圈,到现如今ChatGPT的火爆,面向大众的爆款产品接口背后,无不是大模型技术的突破创新。 而当这种“大力出奇迹”的技术路径价值愈发凸显,行业内外也不禁好奇:

    2024年02月10日
    浏览(38)
  • Qt弹框展示

    文件选择弹框、目录选择弹框、保存文件弹框、颜色选择弹框、字体选择弹框、进度条弹框、输入对话框、标准消息框等

    2024年01月19日
    浏览(24)
  • QT中窗口自绘制效果展示

    项目中需要使用QT进行窗口自绘,前期先做一下技术探索,参考相关资料代码熟悉流程。本着代码是最好的老师原则,在此记录一下。 目录 1.运行效果 2.代码结构 3.具体代码 myspeed.pro drawdialog.h meter1.h meter2.h drawdialog.cpp meter1.cpp meter2.cpp main.cpp

    2024年02月07日
    浏览(31)
  • Qt 测量文字展示尺寸的两种方式

    比如我想求字符串中最大的字符宽度,这个时候对每个字符的宽度求值肯定不是固定的,所以可以先用 MAXFLOAT 做约束,自适应宽度,代码如下: 某些情况下我想做文字的自动折行,指定了文本展示框的宽度之后,高度要通过折行策略达到自适应的效果:

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包