Day39 QTableWidget类的使用

1.简介

        介绍QtableWidget各种属性的用法,以及常用的一些信号,最后利用这些特性,制作一个用于下发设备运行参数的表格。该表格可以实现折叠和取消折叠,在源代码中用了事件过滤器实现,也可以用自带的click信号。显示了图标,添加了editline控件和combox控件;设置了简洁的样子,可以在自己工程中将其添加为c++类作为模块的一部分,或者添加为Qt界面师类,在主界面使用“提升为”完成界面类的实例化。

2.属性介绍

1.隐藏表头,由于表头是QheaderView类,同时在没有表头的情况下,可以用第一行和第一列作为表头,因此在相对简单的场合可以考虑隐藏。

QHeaderView *horizontalHeader = ui->tableWidget->horizontalHeader();
horizontalHeader->setVisible(false);
QHeaderView *verticalHeader = ui->tableWidget->verticalHeader();
verticalHeader->setVisible(false);

2.表格框线的样式

    ui->tableWidget->setStyleSheet("QTableWidget{ gridline-color:black;border: 1px solid black; }");ui->tableWidget->setFrameShape(QFrame::Box);//设置外边框ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//宽度自适应(父对象)ui->tableWidget->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);// 设置水平和垂直方向的拉伸因子

3.创建表格

 ui->tableWidget->setColumnCount(2);ui->tableWidget->setRowCount(15);

4.设置表格字体属性

    QFont font;font.setFamily("Arial");font.setPointSize(10);QPalette palette;palette.setColor(QPalette::Text, QColor(Qt::black));

5.设置内容,居中属性

ui->tableWidget->setItem(0, 0, new QTableWidgetItem("属性"));
ui->tableWidget->item(0,1)->setTextAlignment(Qt::AlignCenter);

6.设置背景色,选中属性

    ui->tableWidget->setItem(11, 0, new QTableWidgetItem(u8"上端位置"));ui->tableWidget->setItem(11, 1, new QTableWidgetItem(""));ui->tableWidget->item(11,1)->setFlags(Qt::ItemIsEditable|Qt::ItemIsEnabled);

7.设置combox控件

    comboMode = new QComboBox(ui->tableWidget);comboMode->addItem(u8"模式1");comboMode->addItem(u8"模式2");comboMode->addItem(u8"模式3");comboMode->setCurrentIndex(0);connect(comboMode, &QComboBox::currentTextChanged, [=](const QString& text){if(text == "模式1" || text == "模式2"){ui->tableWidget->item(9,1)->setText("");ui->tableWidget->item(9,1)->setFlags(Qt::NoItemFlags);}else{ui->tableWidget->item(9,1)->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable);}});

8.设置lineedit、label的控件作为表格内容

    QWidget* wCell0 = new QWidget(ui->tableWidget);QHBoxLayout* subExposeLayout = new QHBoxLayout(wCell0);edit1 = new QLineEdit(wCell0);QLabel* lab1  = new QLabel(wCell0);edit1->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);//填充整个空间wCell0->setStyleSheet("QLineEdit { background:transparent ;border: none; }");subExposeLayout->addWidget(edit1, 2);subExposeLayout->addWidget(lab1, 1);lab1->setText("us");subExposeLayout->setMargin(0);subExposeLayout->setSpacing(0);ui->tableWidget->setCellWidget(7, 1, wCell0);

9.添加图标

ui->tableWidget->item(1,0)->setIcon(QIcon(":/res/pullDown.jpg"));

3.常见信号

Cell开头的信号携带的参数是行x列,Item开头的信号携带的参数是item,每一项,各信号的名字也都可顾名思义,在源代码中,使用事件过滤器实现鼠标的单击事件,没有用自带的click信号。生成的界面效果如图:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“第五十九天”

这是昨天那道题,这个后面自己的处理思路还是差了点,这道题关键感觉就是对进位的处理的,由于进位的存在,所以处理数据的时候只能从最低位开始,我一开始是从高位处理的,而且后面越来越迷,这个点一…

自家开发VS第三方美颜SDK:技术和资源的比较

开发直播平台时,开发人员面临一个关键决策:是选择使用第三方美颜SDK,还是自家开发美颜算法?本文将深入探讨这两种方法的技术和资源方面的比较,帮助开发者更好地决定哪种途径最适合他们的应用。 一、第三方美颜SDK&am…

智能电表和互感器一起安装有什么效果?

智能电表和互感器的普及,为用电管理提供了更为精确和便捷的方式。那么,当智能电表和互感器一起安装时,会产生怎样的"化学反应"呢?下面,小编就来为大家详细的讲解下智能电表和互感器一起安装的作用吧&#xf…

lua-web-utils库

lua--导入所需的库local web_utilsrequire("lua-web-utils")--定义要下载的URLlocal url"https://jshk.com.cn/"--定义代理服务器的主机名和端口号local proxy_port8000--使用web_utils的download函数下载URLlocal file_pathweb_utils.download(url,proxy_…

2023最新C语言编程练习题大全(一)

目录 一、初识C语言1.1 第一个C语言程序1.2 一个完整的C语言程序1.3 输出名言1.4 计算正方形的周长 二、一个简单的C语言程序2.1 输出一个正方形2.2 输出直角三角形2.3 设计一个简单的求和程序2.4 求10!2.5 三个数由小到大排序2.6 猴子吃桃2.7 阳阳买苹果 一、初识C语言 1.1 第…

MATLAB 绘制 SISO 和 MIMO 线性系统的时间和频率响应图

系列文章目录 文章目录 系列文章目录前言一、时间响应二、频率响应三、极点/零点图和根节点四、响应特性五、分析 MIMO 系统六、系统比较七、修改时间轴或频率轴数值如果觉得内容不错,请点赞、收藏、关注 前言 本例演示如何绘制 SISO 和 MIMO 线性系统的时间和频率…

设计模式04———桥接模式 c#

桥接模式:将一个事物从多个维度抽象出来,采用 分离 和 组合 的方式 替代 原本类的继承 桥接模式(Bridge Pattern)是一种软件设计模式,属于结构型模式,它用于将抽象部分与具体实现部分分离,以便它…

Java实现对Html文本的处理

1.引入jsoup <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.8.3</version> </dependency> 2. html示例 示例代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1…

【Linux】 man命令使用

介绍 man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思&#xff0c;它是单词manual的缩写&#xff0c;即使用手册的意思。 man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是&#xff0c;不仅可以查看Lin…

Kali Linux:网络与安全专家的终极武器

文章目录 一、Kali Linux 简介二、Kali Linux 的优势三、使用 Kali Linux 进行安全任务推荐阅读 ——《Kali Linux高级渗透测试》适读人群内容简介作者简介目录 Kali Linux&#xff1a;网络与安全专家的终极武器 Kali Linux&#xff0c;对于许多网络和安全专业人士来说&#x…

InetAddress.getLocalHost() 执行非常慢

昨天同事反馈网关的请求非常慢&#xff0c;一个获取的token的接口响应都超过了30s&#xff0c;还好只是测试环境。 经过验证&#xff0c;几乎所有接口响应都很慢&#xff0c;很多都响应超时。 排查步骤&#xff1a; 0. 本地启动项目测试&#xff0c;没有这个问题。而且生产环…

Python基础之列表、元组和字典

一文拿捏Python基本数据类型“列表、数组和字典” 引言 Python中的 列表(英文叫list) 、 元组(英文叫tuple)和字典&#xff08;dictionary&#xff09; 也是 序列 特性的&#xff0c;它们也是非常常用的数据类型。 1、列表&#xff08;List&#xff09; 01、概述 列表&#…

【Ubuntu】虚拟机安装系统与初始化配置

一、安装ubuntu系统 1、首先在虚拟机上安装一个虚拟机系统。 简单操作忽略&#xff0c;只贴出与安装linux不同的地方。 内存&#xff0c;处理器&#xff0c;磁盘等什么自己看着需要自己增加们这边不做过多说明。一直下一步&#xff0c;然后就安装好了。2、选择镜像位置然后启…

华为RS设备状态及接口配置命令

1、查看硬件信息 ①查看序列号 查看整机序列号 display esn display sn ②、查看功率 电源功率 display power 查看光模块功率 display transceiver interface gigabitethernet 1/0/0 verbose ③、查看风扇 display fan ④、查看温度 display temperature all ⑤、查看硬…

【MySQL】索引(下)

文章目录 1. 普通索引2. 索引操作创建主键索引查询索引删除索引唯一索引的创建删除唯一键索引普通索引的创建全文索引 1. 普通索引 MySQL除了会默认建立主键索引&#xff0c;也可能会按照其他列信息建立的索引&#xff0c;一般这种索引称为 普通索引 对于 储存引擎 myisam&…

伊朗网络间谍组织针对中东金融和政府部门

导语 近日&#xff0c;以色列网络安全公司Check Point与Sygnia发现了一起针对中东金融、政府、军事和电信部门的网络间谍活动。这一活动由伊朗国家情报和安全部门&#xff08;MOIS&#xff09;支持的威胁行为者发起&#xff0c;被称为"Scarred Manticore"。该组织被认…

在Linux上通过NTLM认证连接到AD服务器(未完结)

这篇文章目前还没有实现具体的功能&#xff0c;只实现了明文登录&#xff0c;因为我缺少一些数据&#xff0c;比如通过密码生成hash&#xff0c;以及通过challenge生成response&#xff0c;我不知道怎么实现&#xff0c;因此这篇文章也是一个交流的文章&#xff0c;希望大佬看见…

【实战Flask API项目指南】之一 概述

实战Flask API项目指南之 概述 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握Flask在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 小菜是一个Python编程爱好者&#xff0c;他目前…

蓝桥杯 (C++ 求和 等差数列 顺子日期 灌溉)

目录 1、求和 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 2、等差数列 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 3、顺子日期 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 4、灌溉 题目&#xff1a; 代码&#xff1a; 1、求和…

KaiwuDB 内核解析 - SQL 查询的生命周期

一、概述 KaiwuDB 内核解析系列共分上下两部分&#xff0c;本文是该系列的第一部分&#xff0c;主要涵盖了网络协议到 SQL 执行器&#xff0c;解释 KaiwuDB 如何执行 SQL 查询&#xff0c;包括系统各个组件的执行路径&#xff08;网络协议、SQL 会话管理、解析器、执行计划及优…