QTableView常用设置

article/2025/10/23 9:31:56

QTableView的设置比较复杂,做项目的时候总是搞忘,以本文记录一下它的样式、布局等设置方式。

目录

  • 1、设置item布局
    • 1.1、平均铺满
    • 1.2、最后一项铺满
  • 2、交替背景色
    • 2.1、行交替
    • 2.2、项交替
  • 3、去掉选中虚线
  • 4、去掉网格线
  • 5、设置选中方式
    • 5.1、选中单个项目
    • 5.2、选中单行
    • 5.3、选中单列
  • 6、样式设置
  • 7、文字居中
  • 8、设置图标
  • 9、表头样式设置
  • 9、总结


1、设置item布局

1.1、平均铺满

ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

在这里插入图片描述

1.2、最后一项铺满

ui->tableView->horizontalHeader()->setStretchLastSection(true);

在ui设计师也能设置。
在这里插入图片描述
在这里插入图片描述

2、交替背景色

2.1、行交替

ui->tableView->setAlternatingRowColors(true);

在这里插入图片描述
交替色可以通过样式表来设置。

QTableView::item:!alternate:!selected{background: yellow;    
}QTableView::item:alternate:!selected{background: green;    
}

在这里插入图片描述

2.2、项交替

Qt没有提供项背景色交替的方法,需要自行实现,下面是一个例子。

auto model = new QStandardItemModel;
model->setRowCount(3);
model->setColumnCount(3);
for (int r = 0; r < 3; ++r) {for (int c = 0; c < 3; ++c) {auto index = model->index(r, c);if ((!(r % 2) && c % 2) || (r % 2 && !(c % 2))) {model->setData(index, QColor(243, 243, 243), Qt::BackgroundRole);} else {model->setData(index, QColor(Qt::white), Qt::BackgroundRole);}      model->setData(index, "aaa");   }
}
ui->tableView->setModel(model);

在这里插入图片描述

3、去掉选中虚线

ui->tableView->setFocusPolicy(Qt::NoFocus);

4、去掉网格线

ui->tableView->setShowGrid(false);

在这里插入图片描述

5、设置选中方式

5.1、选中单个项目

ui->tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);

在这里插入图片描述

5.2、选中单行

ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);

在这里插入图片描述

5.3、选中单列

ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);

在这里插入图片描述

6、样式设置

为了方便辨识,用一些简单显眼的颜色来写例子。

QTableView {  border: 1px solid red;background: black;color: white;font-size:18px;
}QTableView::item {border: 2px solid blue; 
}QTableView::item:selected {background-color: green;color: yellow;
}

在这里插入图片描述

7、文字居中

文字居中需要一个个item设置。

model->setData(index, Qt::AlignCenter, Qt::TextAlignmentRole);

在这里插入图片描述

8、设置图标

图标需要一个个item设置。

model->setData(index, QIcon("a.png"), Qt::DecorationRole);

在这里插入图片描述

9、表头样式设置

QHeaderView {height: 40px;
}QHeaderView::section {	/* 表头的项 */background: red;border: none;
}

9、总结

最后把这些常用的设置都粘贴到一起,方便复制使用。

ui->tableView->setFocusPolicy(Qt::NoFocus);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableView->setShowGrid(false);
ui->tableView->setAlternatingRowColors(true);
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//    ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

http://chatgpt.dhexx.cn/article/DmU2xb0k.shtml

相关文章

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 可以帮助我们快速定位程序…

CoreDump追踪

当程序运行的过程中异常终止或崩溃&#xff0c;操作系统会将程序当时的内存状态记录下来&#xff0c;保存在一个文件中&#xff0c;这种行为就叫做Core Dump&#xff08;中文有的翻译成“核心转储”)。我们可以认为 core dump是“内存快照”&#xff0c;但实际上&#xff0c;除…