Qt QTableView详解

article/2025/10/23 9:23:57

一.常用接口

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++文档类资源-CSDN下载


http://chatgpt.dhexx.cn/article/08Eh947f.shtml

相关文章

QTableView常用设置

QTableView的设置比较复杂&#xff0c;做项目的时候总是搞忘&#xff0c;以本文记录一下它的样式、布局等设置方式。 目录 1、设置item布局1.1、平均铺满1.2、最后一项铺满 2、交替背景色2.1、行交替2.2、项交替 3、去掉选中虚线4、去掉网格线5、设置选中方式5.1、选中单个项目…

qt中Qtableview的用法

QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格&#xff1a; 一 添加表头 //准备数据模型 QStandardItemModel *student_model new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr(&…

Qt深入浅出(十五)QTableView

QTableView ​ 表格视图控件QTableView&#xff0c;需要和QStandardItemModel, 配套使用&#xff0c;这套框架是基于MVC设计模式设计的&#xff0c;M(Model)是QStandardItemModel数据模型&#xff0c;不能单独显示出来。V(view)是指QTableView视图&#xff0c;要来显示数据模型…

Qt QTableView

TableView 表格视图控件QTableView&#xff0c;需要和QStandardItemModel, 配套使用&#xff0c;这套框架是基于MVC设计模式设计的&#xff0c;M(Model)是QStandardItemModel数据模型&#xff0c; 不能单独显示出来。V(view)是指QTableView视图&#xff0c;要来显示数据模型&…

QT QtableView操作详解

本文实现了使用QtableView控件来显示数据&#xff0c;数据源使用txt文本作为数据源&#xff0c;使用了QStandardItemModel作为数据模型来实现了对TableView空间的初始化&#xff0c;和对txt数据源的增删改查功能。 QT QtableView操作详解目录 1. 项目结构&软件界面 2. m…

QTableView使用方法小结

本文总结了QTableView常用方法&#xff0c;包括常规的数据显示、表头设置、字体和颜色设置、行列的高宽&#xff0c;显示格式设置等&#xff0c;还有一套分页算法&#xff0c;在QTableView表格里插入QLineEdit、QPushButton、QCheckBox等控件&#xff0c;常用的qss设置&#xf…

Qt之QTableView的简单使用(含源码+注释)

文章目录 一、QTableView操作示例图二、QTableView&#xff08;个人理解&#xff09;三、源码CMainWindow.hCMainWindow.cpp 四、拓展&#xff1a;代理的使用总结相关文章 一、QTableView操作示例图 下图为QTableView简单使用示例图&#xff0c;其中包含设置、获取、新建item等…

QTableView 基本使用

一、简介 表格视图控件 QTableView&#xff0c;需要和 QStandardItemModel 配套使用&#xff0c;这套框架是基于 MVC 设计模式设计的&#xff0c;M(Model) 是 QStandardItemModel 数据模型不能单独显示出来。V(view) 是指 QTableView 视图&#xff0c;要来显示数据模型&#x…

QTableView详细使用说明

QTableView详细使用说明 创建QTableView表格标题设置表格的标题获取表格的标题 数据操作插入数据删除数据 属性设置设置表格的对齐方式设置表格的宽高设置表格的线属性 自定义菜单eventFilter方法重载eventFilter()启用事件监听实现事件过滤函数 设置菜单属性方法设置属性关联信…

web前端新手面试指南:自我介绍

面试时注意&#xff1a;自我介绍不能太长&#xff0c;也不能过短&#xff0c;3分钟左右最合适&#xff0c;尤其做为web前端技术方面的面试&#xff0c;更加要说到点上&#xff0c;我依次从学习方面、项目实践、未来规划这三个方面写下web前端面试的自我介绍。 您好&#xff0c;…

Web前端面试自我介绍对话技巧注意事项

大家在学会了web前端技术后&#xff0c;当然是要准备找一个适合自己的web前端工作了&#xff0c;那么面试环节是必不可少的&#xff0c;有一个良好的自我介绍表述&#xff0c;在HR心中也能加分不少&#xff0c;接下来小编就为大家介绍一下Web前端面试自我介绍对话技巧注意事项。…

前端面试自我介绍的技巧都有哪些?

前端面试自我介绍的技巧都有哪些? 在前端面试自我介绍的时候&#xff0c;可能会遇到两种情况&#xff1a;允许主动和不允许主动&#xff01; 允许主动的情况下&#xff0c;前端程序员应该详细的介绍自己技能树&#xff0c;结合工作经历&#xff0c;展示给面试官自己对项目和…

JVM coredump

JVM crash分析 Java程序运行的时候&#xff0c;遇到了coredump的现象。最后定位到时JIT导致的bug。 http://www.oracle.com/technetwork/java/javase/crashes-137240.html#gbyzu 这里记录下JVMcrash产生的文件怎么去定位问题&#xff0c;但是一般不会遇到crash&#xff0c;h…

coredump 使用总结

1. core dump简介&#xff1a; A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). In practice, other key pieces of program state are usually dumped…

【linux】coredump问题排查

序言 记录coredump问题的一些定位技巧 1. coredump简介 coredump称为核心转储&#xff0c;就是在进程异常时的一个快照&#xff0c;保存了异常时的内存、寄存器、堆栈等数据当进程接收到某些 信号 而导致异常退出时&#xff0c;就会生成 coredump 文件core文件是ELF文件格式…

Core Dump核心转储

核心转储&#xff08;core dump&#xff09;&#xff0c;在汉语中有时戏称为吐核&#xff0c;是操作系统在进程收到某些信号而终止运行时&#xff0c;将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。 概述 编辑 在UNIX系统中…

coredump文件的生成以及如何调试coredump文件?

生成coredump文件的相关配置 1. 首先通过 ulimit -a 命令&#xff0c;查看是否允许coredump文件生成; 如下图所示&#xff0c;core文件大小限制为0&#xff0c;即&#xff1a;不允许core文件生成 2. 使用 ulimit -c [kbytes] 命令更改core文件大小的限制 或者 通过 ulimit -c…

android生成coredump,详解coredump--全面

From: http://blog.csdn.net/tenfyguo/article/details/8159176 一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条…

coredump文件是如何生成的

目录 一、coredump 文件生成过程 二、coredump文件生成原理 1. 信号处理 do_signal() 2. 生成 coredump 文件 三、生产环境应该打开 coredump 功能吗&#xff1f; 人都会犯错&#xff0c;所以在编写程序时难免会出现 BUG。 有些 BUG 是业务逻辑上的错误导致的&#xff0c…

Coredump 详解

引言 当程序运行的过程中异常终止或崩溃&#xff0c;操作系统会将程序当时的内存状态记录下来&#xff0c;保存在一个文件中&#xff08;core文件&#xff09;&#xff0c;这种行为就叫做 Core Dump 或者叫做 ‘核心转储’&#xff0c;利用 coredump 可以帮助我们快速定位程序…