iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中的Qt QTableView详解
  • 461
分享到

C++中的Qt QTableView详解

2024-04-02 19:04:59 461人浏览 安东尼
摘要

目录一.常用接口1.设置model,添加model数据 2.节点可以带一些数据3.一些别的常用设置4.自动调整行高和列宽5.设置表格不可编辑6.设置行列头不显示二.设置it

一.常用接口

1.设置model,添加model数据

    model = new QStandardItemModel(this);
    model->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄");
    QStandardItem *item00 = new QStandardItem("张三");
    QStandardItem *item10 = new QStandardItem("张四");
    QStandardItem *item20 = new QStandardItem("张五");
    QStandardItem *item01 = new QStandardItem("男");
    QStandardItem *item11 = new QStandardItem("女");
    QStandardItem *item21 = new QStandardItem("男");
    QStandardItem *item02 = new QStandardItem("15");
    QStandardItem *item12 = new QStandardItem("14");
    QStandardItem *item22 = new QStandardItem("16");
    model->setItem(0,0,item00);
    model->setItem(1,0,item10);
    model->setItem(2,0,item20);
    model->setItem(0,1,item01);
    model->setItem(1,1,item11);
    model->setItem(2,1,item21);
    model->setItem(0,2,item02);
    model->setItem(1,2,item12);
    model->setItem(2,2,item22);
    ui->tableView->setModel(model);

 2.节点可以带一些数据

    QStandardItem *item1 = new QStandardItem("张三");   
    //item1->setData("name");
    //item1->setIcon();
    //item1->setFlags();
 

3.一些别的常用设置

    //去除选中虚线框
    ui->tableView->setFocusPolicy(Qt::NoFocus);
 
    //设置列宽
    ui->tableView->setColumnWidth(0,100);
    ui->tableView->setColumnWidth(1,100);
    ui->tableView->setColumnWidth(2,200);
//    //需要打开右键菜单属性,则必须设置
//    ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
    //设置最后一栏自适应长度
    ui->tableView->horizontalHeader()->setStretchLastSection(true);
    //设置列内容自适应宽度
    //ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
    //开启交替行背景色,在设置style为交替颜色时必须开启
    //ui->tableView->setAlternatingRowColors(true);
    //设置整行选中
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    //设置选择多行,按ctrl键
    ui->tableView->setSelectionMode(QAbstractItemView::ExtendedSelection);

4.自动调整行高和列宽

resizeColumnsToContents()://自动调整所有列的宽度,以适应其内容。
resizeColumnToContents(int column)://自动调整列号为 co/www 的列的宽度。
resizeRowsToContents()://自动调整所有行的高度,以适应其内容。
resizeRowToContents(int row)://自动调整行号为 raw 的行的高度。

5.设置表格不可编辑

ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

6.设置行列头不显示

    ui->tableView->horizontalHeader()->setVisible(false);//是否显示水平表头
    ui->tableView->verticalHeader()->setVisible(false);//是否显示垂直表头

二.设置item属性

    QStandardItem *item01 = new QStandardItem("男");
    QFont font = item01->font();
    //设置为粗体
    font.setBold(true);
    //字体大小
    font.setPointSize(12);
    //设置字体
    item01->setFont(font);
    //设置字体颜色
    item01->setForeground(QBrush(QColor(255, 0, 0)));
    //文本对齐格式
    item01->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);

 三.右键弹出菜单

    //打开右键菜单属性
    ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
 
    //右键菜单
    menu = new QMenu(ui->tableView);
    menu->addAction("添加");
    menu->addAction("删除");
    //响应右键菜单信号槽
    connect(ui->tableView,&QTableView::customContextMenuRequested,
          this,&Widget::slotCustomContextMenuRequested);
    void Widget::slotCustomContextMenuRequested(const QPoint &pos)
    {
        QPoint p;
        p.setX(pos.x());
        p.setY(pos.y() + menu->height() / 2 );
        menu->exec(ui->tableView->mapToGlobal(p));
    }

四.源码

QTableView详解-c++文档类资源

到此这篇关于Qt QTableView详解的文章就介绍到这了,更多相关Qt QTableView详解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++中的Qt QTableView详解

本文链接: https://www.lsjlt.com/news/143458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中的Qt QTableView详解
    目录一.常用接口1.设置model,添加model数据 2.节点可以带一些数据3.一些别的常用设置4.自动调整行高和列宽5.设置表格不可编辑6.设置行列头不显示二.设置it...
    99+
    2024-04-02
  • C/C++ Qt数据库SqlRelationalTable关联表详解
    在上一篇博文中详细介绍了SqlTableModle组件是如何使用的,本篇博文将介绍SqlRelationalTable关联表组件,该组件其实是SqlTableModle组件的扩展类,...
    99+
    2024-04-02
  • 详解C/C++ QT QChart 绘制组件应用
    QtCharts 组件是QT中提供图表绘制的模块,该模块可以方便的绘制常规图形,Qtcharts 组件基于GraphicsView模式实现,其核心是QChartView和QChart...
    99+
    2024-04-02
  • C/C++表格组件Qt TableWidget应用详解
    TableWidget 表格结构组件,该组件可以看作是TreeWidget树形组件的高级版,表格组件相比于树结构组件灵活性更高,不仅提供了输出展示二维表格功能,还可以直接对表格元素直...
    99+
    2024-04-02
  • C/C++ Qt TabWidget 实现多窗体创建详解
    在开发窗体应用时通常会伴随分页,TabWidget组件配合自定义Dialog组件,可实现一个复杂的多窗体分页结构,此类结构也是ERP等软件通用的窗体布局方案。 首先先来实现一个只有T...
    99+
    2024-04-02
  • 详解Qt中QStackedWidget控件的使用
    目录引言QStackedWidget的属性实例演示效果展示引言 QStackedWidget继承自QFrame。 QStackedWidget类提供了多页面切换的布局,一次只能看到一...
    99+
    2023-02-26
    Qt QStackedWidget使用 Qt QStackedWidget
  • C/C++ Qt 数据库与TreeView组件绑定详解
    在上一篇博文《C/C++ Qt 数据库QSql增删改查组件应用》介绍了Qt中如何使用SQL操作函数,并实现了对数据库的增删改查等基本功能,从本篇开始将实现数据库与View组件的绑定,...
    99+
    2024-04-02
  • C++ Qt利用GPU加速计算的示例详解
    在 C++ 和 Qt 中,可以通过以下方式利用 GPU 进行加速计算: 使用 GPU 编程框架:可以使用类似 CUDA、OpenCL、DirectCompute 等 GPU 编程框架...
    99+
    2023-03-09
    C++ Qt GPU加速计算 C++ GPU加速计算 C++ GPU
  • C/C++中的 Qt StandardItemModel 数据模型应用解析
    QStandardItemModel 是标准的以项数据为单位的基于M/V模型的一种标准数据管理方式,Model/View 是Qt中的一种数据编排结构,其中Model代表模型,View...
    99+
    2024-04-02
  • 详解Qt中线程的使用方法
    QT中使用线程可以提高工作效率。 要使用线程要经过一下四个步骤: (1)先创建一个c++ class文件,记得继承Thread,创建步骤如下: a、第一步 b、第二步 (2)自...
    99+
    2022-12-16
    Qt线程使用 Qt线程
  • C/C++ Qt StringListModel 字符串列表映射组件详解
    QStringListModel简介 QStringListModel 用于处理字符串列表的数据模型,它可以作为 QListView 的数据模型,在界面上显示和编辑字符串列表。 QS...
    99+
    2024-04-02
  • C/C++ Qt TableDelegate 自定义代理组件使用详解
    TableDelegate 自定义代理组件的主要作用是对原有表格进行调整,例如默认情况下Table中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是...
    99+
    2024-04-02
  • 一文详解Qt中的对象树机制
    Qt提供了对象树机制,能够自动、有效的组织和管理继承自QObject的Qt对象。 每个继承自QObject类的对象通过它的对象链表(QObjectList)来管理子类对象,当用户创建...
    99+
    2023-03-21
    Qt对象树机制使用 Qt对象树机制 Qt对象树
  • QT中对Mat类的一些操作详解
    目录一、类型转换二、保存至数据库一、类型转换 opencv在QT中的应用通常会涉及到这三者的转换,即Mat、QImage、QPixmap。下面分别给出了 Mat转QImageQIma...
    99+
    2024-04-02
  • C++ Qt之halcon读取像素项目过程详解
    项目环境:win10,qt5.14,halcon20 功能:1.读取指定图像2.读取指定目录下的图像 项目配置文件 QT += core gui greate...
    99+
    2024-04-02
  • 一文详解Qt中线程的实际应用
    目录1、多线程操作UI界面的示例2、避免多次connect3、优雅地结束线程的两种方法为了让程序尽快响应用户操作,在开发应用程序时经常会使用到线程。对于耗时操作如果不使用线程,UI界...
    99+
    2023-03-10
    Qt线程应用 Qt线程
  • Qt 5.9使用VTK显示点云的详解详解
    注意: 1.以下第一部分PCL安装使用教程可供参考,第二部分在VS中使用Qt亲测有效;第三第四部分有问题,希望通过这个教程了解如何使用Qt可视化点云的可能要失望了,如果你实现了还请不...
    99+
    2024-04-02
  • C/C++Qt自定义Dialog对话框组件应用案例详解
    在上一篇文章 《C/C++ Qt 标准Dialog对话框组件应用》 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能。 但有时候我们需要一次性修改多个数据,使...
    99+
    2024-04-02
  • Qt中QPixmap、QImage、QPicture、QBitmap四者区别详解
    目录前言QPixmap&QImageQBitmapQPicture参考:前言 Qt 提供了四个类来处理图像数据:QImage、QPixmap、QBitmap 和 QPictu...
    99+
    2024-04-02
  • 详解c++中的异常
    目录一、什么是异常处理二、为什么需要异常处理,异常处理的基本思想三、异常出现之前处理错误的方式四、异常为什么好五、C++中使用异常时应注意的问题六、异常的基本语法1. 抛出和捕获异常...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作