QTableWidget详解 Qt

2024-09-03 11:18
文章标签 详解 qt qtablewidget

本文主要是介绍QTableWidget详解 Qt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TQTableWidget是一个自定义M*N的表格式widget

M表示行数 N表示列数

自带一个行表头 和 一个列表头

表格内有M*N个Item,并非每一行是一个item。item可以内嵌入其他QObject组件。

设置列数 函数

ui->DtableWidget->setColumnCount(COLS);
ui->DtableWidget->setRowCount(ROWS);

设置列宽 行宽

for(int c=0;c<COLS;c++)
{ui->DtableWidget->setColumnWidth(c,315);}for(int r = 0; r < ROWS; r++){ui->DgtableWidget->setRowHeight(r,30);}

指定item内嵌入某个QObject

QLineEdit *qle = new QLineEdit();
ui->DtableWidget->setCellWidget(row, col, qle);

设置单元格文字 格式

ui->DtableWidget->setItem(row,col,new QTableWidgetItem(tr("QString")));
ui->DtableWidget->item(row,col)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
//设置无边框
ui->DtableWidget->setFrameShape(QFrame::NoFrame);
//禁用水平滚轮 和 竖直滚轮
ui->DtableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui->DtableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//禁用行表头 和 列表头
ui->DtableWidget->horizontalHeader()->setVisible(false);
ui->DtableWidget->verticalHeader()->setVisible(false);//隐藏点击时出现的虚线框
ui->DtableWidget->setFocusPolicy(Qt::NoFocus);
//设置选择模式,选择单行
ui->DtableWidget->setSelectionMode ( QAbstractItemView::SingleSelection);
//禁止编辑
ui->DtableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
//整行选中的方式
ui->DtableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
//打开时默认选择第一行
ui->DetableWidget->selectRow(0);

当前选中行

ui->DtableWidget->currentRow();

选中行事件

itemSelectionChanged()

对表头文字的字体、颜色进行设置 

  QTableWidgetItem *columnHeaderItem0 = tableWidget->horizontalHeaderItem(0); //获得水平方向表头的Item对象  columnHeaderItem0->setFont(QFont("Helvetica")); //设置字体  columnHeaderItem0->setBackgroundColor(QColor(0,60,10)); //设置单元格背景颜色  columnHeaderItem0->setTextColor(QColor(200,111,30)); //设置文字颜色

排序:

  tableWidget->sortByColumn(0, Qt::AscendingOrder);//顾名思义,该函数意思是将某列按升序/降序的方式排列
  int row = tableWidget->rowCount();//获取表格中当前总行数tableWidget->setRowCount(row+1);//添加一行tableWidget->removeRow(row);//清除已有的行列Int row1 = tableWidget->currentItem()->row();//当前选中行bool focus = tableWidget->isItemSelected(tableWidget->currentItem());//判断是否选中一行QString proName = tableWidget->item(row, col)->text();//获取某一格内容setShowGrid(true);//显示表格线verticalHeader()->setVisible(false);//隐藏左边垂直QHeaderView *headerView = horizontalHeader();headerView->setMovable(false);//去除表头的移动headerView->resizeSection(0,284);//设置第一列宽headerView->resizeSection(1,127);//设置第二列宽headerView->setResizeMode(QHeaderView::Fixed);//列表不能移动headerView->setClickable(false);//不响应鼠标单击setEditTriggers(QTableWidget::NoEditTriggers);//不能编辑setSelectionBehavior(QTableWidget::SelectRows);//一次选中一行setSelectionMode(QAbstractItemView::SingleSelection);//只能单选/*QScrollBar *scrollBar = horizontalScrollBar();scrollBar->hide();*/setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//去掉水平滚动条setVerticalScrollMode(QAbstractItemView::ScrollPerItem);//垂直滚动条按项移动setAutoScroll(false);//去掉自动滚动

合并单元格:

  tableWidget->setSpan(0, 0, 3, 1)  # 其参数为: 要改变单元格的1行数、2列数,要合并的3行数、4列数

 

这篇关于QTableWidget详解 Qt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1132817

相关文章

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Java中的record使用详解

《Java中的record使用详解》record是Java14引入的一种新语法(在Java16中成为正式功能),用于定义不可变的数据类,这篇文章给大家介绍Java中的record相关知识,感兴趣的朋友... 目录1. 什么是 record?2. 基本语法3. record 的核心特性4. 使用场景5. 自定

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Python struct.unpack() 用法及常见错误详解

《Pythonstruct.unpack()用法及常见错误详解》struct.unpack()是Python中用于将二进制数据(字节序列)解析为Python数据类型的函数,通常与struct.pa... 目录一、函数语法二、格式字符串详解三、使用示例示例 1:解析整数和浮点数示例 2:解析字符串示例 3:解

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R