Qt 表格相关API

news2024/9/21 2:40:16

1.文本框

  • 限制输入数据类型(如仅英文)
    QValidator* validator = new QRegExpValidator(QRegExp("[a-zA-Z]+"), lineText); // 创建正则表达式验证器
    lineText->setValidator(validator); // 将验证器设置给 QLineEdit

 

QLineEdit:单行文本编辑

  • 设置输入不可见
lineEdit->setEchoMode(QLineEdit::Password);

QPlainTextEdit:多行普通文本编辑

QTextEdit:更丰富的文本编辑

  • 设置文本只读
setReadOnly(true)
  • 设置文本不可选中
setTextInteractionFlags(Qt::NoTextInteraction)

QTextBrower:只读版的 QTextEdit + 打开网页链接

  • 去除边框操作
QTextBrowser{border-width:0;border-style:outset}//去除边框

QComboBox:  下拉列表框组件

  • 设置默认文本
ui->comboBox->setEditable(true);//必要条件
ui->comboBox->setEditText("sdfs");//设置默认文本
ui->comboBox->lineEdit()->setReadOnly(true);//设置不可编辑

样式表:
QComboBox
{
	border-radius: 4px;     /* 边框圆角 */
	background: #161D28;      /* 背景颜色 */
	border : 1px solid white;
	color:white;
}
QComboBox::drop-down {//点击按钮样式
     subcontrol-origin: padding;
     subcontrol-position: top right;
     width: 14px;
     border:none;
	 padding-right:10px;
}
QComboBox::down-arrow {//替换点击按钮图标
     image: url(:image/路径/arrow.png);
}

QCheckBox:复选框(默认为两种状态)

QCheckBox
{
	background: #161D28;      /* 背景颜色 */
	padding-bottom:1px; //底部间隔
	color:white;//字体颜色
}

QCheckBox::indicator:unchecked {//复选框未选中的情况下
       border : 1px solid white;
	   background: white; 
}
QCheckBox::indicator:checked {//复选框选中的情况下
   border-image: url(:/路径/check all.png);
}
QCheckBox::indicator:unchecked:hover {//复选框未选中时被覆盖
   border-image: url(:/路径/check all.png);
}
QCheckBox::indicator:unchecked:pressed {//复选框未选中时被按压
     border-image: url(:/路径/check all.png);
}

  • 设置三种状态
setTristate(true);
  •  状态变化信号
QCheckBox::stateChanged
  •  设置当前状态
setCheckState(Qt::Unchecked);//未选中
setCheckState(Qt::Checked);//选中
setCheckState(Qt::PartiallyChecked);//半选中

QTimeEdit:时间编辑

QTimeEdit
{
	border-radius: 4px;     /* 边框圆角 */
	background: #161D28;      /* 背景颜色 */
	color:white;
}
QTimeEdit::up-button//上键
{
	background: #161D28;      /* 背景颜色 */
}
QTimeEdit::down-button//下键
{
	background: #161D28;      /* 背景颜色 */
}

2.QTableWidget (表格)

Qt QTableWidget用法总结_Qt开发老杰的博客-CSDN博客

  • 行列
setColumnCount(n); //设置表格列数
setRowCount(m); //设置表格行数
rowCount(); //统计行数

ui->display_tableWidget->setColumnWidth(0,130);//手动设置第 1 列表格的宽度
  • 表头
QHeaderView *headV=ui->display_tableWidget->verticalHeader();
headV->setHidden(true);//隐藏列表头
QHeaderView *headHor=ui->display_tableWidget->horizontalHeader();
headHor->setHidden(true);//隐藏行表头
  • 内容操作(在 UI 图中可以直接设置数据,不过需要先添加行列表头,可以后面进行隐藏)
//第 i 行,第 j 列插入内容
ui->display_tableWidget->setItem(i,j,new QTableWidgetItem("X:")); 

ui->display_tableWidget->setSelectionMode(QAbstractItemView::NoSelection);//禁止选中
ui->display_tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止编辑 

int Rowcounts,Coumncounts;//获取行列数
Rowcounts=ui->display_tableWidget->rowCount();
Coumncounts=ui->display_tableWidget->columnCount();
for(int i=0;i<Rowcounts;++i) 
    ui->display_tableWidget->item(i,0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);//居中显示

3.QStackedWidget(存储页面)

  • 页面索引查看
    • 先选中要查看索引的页面
    • 然后再点击 QStackedWidget ,鼠标右键,就可以看到存储了几页,上一次选中的是第几页
    • 注意:页的索引是从0开始的

  • 页面跳转
ui->stackedWidget_2->setCurrentIndex(0);//跳转到 stackedWidget_2 下的第一页中

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

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

相关文章

岛屿数量介绍

在Java编程语言中&#xff0c;岛屿数量通常指的是在一个二维字符数组&#xff08;grid&#xff09;中&#xff0c;相邻的、值为1的格子数量。这个二维字符数组可能代表一个地图或一个二维平面&#xff0c;每个1代表一个岛屿或地形凸起&#xff0c;每个0代表一个海洋或平坦地区。…

HI3559AV100和FPGA 7K690T的PCIE接口调试记录-续

上文https://blog.csdn.net/fzktongyong/article/details/134963814?spm1001.2014.3001.5501 上一篇文中PCIE实测速度和理论计算有较大偏差&#xff0c;经过尝试后有所提升。 1、提升效果 1&#xff09;、RC写操作&#xff0c;实测速度817MB/s&#xff08;410407&…

JupyterNotebook VS JupyterLab 如果jupyter安装成功,点击jupyterlab即可进入lab环境

简介 JupyterNotebook 是一个款以网页为基础的交互计算环境&#xff0c;可以创建Jupyter的文档&#xff0c;支持多种语言&#xff0c;包括Python, Julia, R等等。一般来说&#xff0c;如果是使用R语言的话&#xff0c;使用Rstudio居多&#xff0c;使用Python的话&#xff0c;使…

第78讲:截取MySQL Binlog二进制日志中特定部分内容的技巧

文章目录 1.为什么要截取Binlog日志中的部分内容2.针对标识位截取Binlog日志中的部分数据2.1.以标识位号截取Binlog日志的方法2.2.截取Binlog日志中的部分数据2.3.模拟简单基于标识位的Binlog数据恢复 3.针对事件范围截取Binlog日志中的部分数据 1.为什么要截取Binlog日志中的部…

虚幻学习笔记15—C++和UI(一)

一、前言 在C可以直接创建按钮、滚轮等UI&#xff0c;并且可以直接绑定并处理响应事件。在创建C代码后还是需要通过蓝图来显示到应用中&#xff0c;总体来说还是不如直接用蓝图来的方便。 本文使用的虚幻引擎为5.2.1。 二、实现 2.1、创建UUserWidgetl类型的C类 声明两个按钮…

老杨说运维 | 年末大盘点!擎创CEO实时盘点运维大干货,不容错过

2023年即将走到尾声&#xff0c;对于擎创而言&#xff0c;这一年是颇具成长和成就的一年。我们庆幸获得了更多客户的信任&#xff0c;也为他们达到下一个运维阶段提供了充足的助力。 越多的实践就会带来越多新的理解和可优化的经验。这一年来&#xff0c;擎创在运维数据治理、智…

【PID学习笔记10】PID公式分析

写在前面 前面已经将控制系统的基础知识点过了一遍&#xff0c;从本节开始&#xff0c;将正式学习PID控制的相关知识&#xff0c;将会从基本的PID公式概念解释&#xff0c;再基于matlab仿真介绍十几种数字式PID的基本概念。本文重点讲解PID的经典公式。 一、连续与离散的概念…

Tableau进阶--Tableau数据故事慧(20)解构Tableau的绘图逻辑

官网介绍 官网连接如下&#xff1a; https://www.tableau.com/zh-cn tableau的产品包括如下&#xff1a; 参考:https://zhuanlan.zhihu.com/p/341882097 Tableau是功能强大、灵活且安全些很高的端到端的数据分析平台&#xff0c;它提供了从数据准备、连接、分析、协作到查阅…

【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 二阶多项式局部加权回归拟合算法是一种用于回归分析的方法&#xff0c;主要通过局部加权线性回归模型来实现。以下是对二阶多项式局部加权回归拟合算法的介绍&#xff1a; 局部加权线性回…

C# OpenCvSharp DNN 部署YOLOV6目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN 部署YOLOV6目标检测 效果 模型信息 Inputs ------------------------- name&#xff1a;image_arrays tensor&#xff1a;Float[1, 3, 640, 640] -------------------------------------------------------------…

搭建个人智能家居 开篇(搭建Home Assistant)

搭建个人智能家居 开篇&#xff08;搭建Home Assistant&#xff09; 前言Home Assistant搭建Home AssistantUbuntu系统搭建Windows系统搭建VM安装方法VirtualBox安装方法&#xff1a; 配置Home Assistant控制页面 前言 随着科技的进步、发展&#xff0c;物联网给我们的生活带来…

Axure的安装及界面基本功能介绍

目录 一. Axure概述 二. Axure安装 2.1 安装包下载 2.2 安装步骤 三. Axure功能介绍​ 3.1 工具栏介绍 3.1.1 复制&#xff0c;剪切及粘贴 3.1.2 选择模式和连接 3.1.3 插入形状 3.1.4 点&#xff08;编辑控点&#xff09; 3.1.5 置顶和置底 3.1.6 组合和取消组合 …

双向无线功率传输系统MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介&#xff1a; 初级侧转换器通过双向 AC/DC 转换器从电网获取电力&#xff0c;并由直流线电压 Vin 供电&#xff0c;而拾波侧被视为连接到 EV&#xff0c;并由连接到任一存储的单独直流源 Vout 表示或…

express 下搞一个 websocket 长连接

安装模块 npm i express npm i express-ws 新建文件app.js 先安排源码 监听端口 7777 var express require(express) var app express() require(express-ws)(app)var port 7777 var clientObject {} app.ws(/, (client, req) > {// 连接var key req.socket.re…

TypeScript【枚举、联合类型函数_基础、函数_参数说明 、类的概念、类的创建】(二)-全面详解(学习总结---从入门到深化)

文章目录 枚举 联合类型 函数_基础 函数_参数说明 类的概念 类的创建 枚举 枚举&#xff08;Enum&#xff09;类型用于取值被限定在一定范围内的场景&#xff0c;比如一周只能有七天&#xff0c;颜色限定为红绿蓝等 枚举例子 枚举使用 enum 关键字来定义 enum Days {…

locust 压测 websocket

* 安装 python 3.8 https://www.python.org/ py --version * 安装 locust pip install locust2.5.1 -i http://pypi.douban.com/simple/ pip install locust2.5.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ locust -V 备注&#xff1a;-i 是切换下载源 * 安装依赖 pip ins…

一篇文章讲透TCP/IP协议

1 OSI 7层参考模型 2 实操连接百度 nc连接百度2次&#xff0c;使用命令netstat -natp查看就会重新连接一次百度 请求百度 3 三次握手、socket 应用层协议控制长连接和短连接 应用层协议->传输控制层&#xff08;TCP UDP&#xff09;->TCP&#xff08; 面向连接&am…

超声波清洗机应该怎样使用?清洁能力强超声波清洗机推荐

其实超声波清洗机使用方法非常简单&#xff0c;只需要将清洁物品放进超声波清洗机内&#xff0c;加入水打开开关即可开始使用&#xff0c;不需要太复杂操作就可以开启清洗&#xff0c;等待个数分钟就可以得到一个干干净净的物品被清洗完毕&#xff01;可见现在科技进步&#xf…

在Node.js中MongoDB更新数据的方法

本文主要介绍在Node.js中MongoDB更新数据的方法。 目录 Node.js中MongoDB更新数据使用原生 MongoDB 驱动程序更新数据使用 Mongoose 更新数据 Node.js中MongoDB更新数据 在Node.js中&#xff0c;可以使用原生的 MongoDB 驱动程序或者使用 Mongoose 来更新 MongoDB 数据。 下面…

Redis设计与实现之字典

目录 一、字典 1、 字典的应用 实现数据库键空间 用作Hash类型键的其中一种底层实现 2、字典的实现 哈希表实现 哈希算法 3、创建新字典 4、添加键值对到字典 5、添加新元素到空白字典 6、添加新键值对时发生碰撞处理 7、添加新键值对时触发了 rehash操作 Note:什么…