Qt 表格相关API

1.文本框

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

**QLineEdit:**单行文本编辑

  • 设置输入不可见
cpp 复制代码
lineEdit->setEchoMode(QLineEdit::Password);

**QPlainTextEdit:**多行普通文本编辑

**QTextEdit:**更丰富的文本编辑

  • 设置文本只读
cpp 复制代码
setReadOnly(true)
  • 设置文本不可选中
cpp 复制代码
setTextInteractionFlags(Qt::NoTextInteraction)

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

  • 去除边框操作
cpp 复制代码
QTextBrowser{border-width:0;border-style:outset}//去除边框

QComboBox: 下拉列表框组件

  • 设置默认文本
cpp 复制代码
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:**复选框(默认为两种状态)

cpp 复制代码
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);
}
  • 设置三种状态
cpp 复制代码
setTristate(true);
  • 状态变化信号
cpp 复制代码
QCheckBox::stateChanged
  • 设置当前状态
cpp 复制代码
setCheckState(Qt::Unchecked);//未选中
setCheckState(Qt::Checked);//选中
setCheckState(Qt::PartiallyChecked);//半选中

**QTimeEdit:**时间编辑

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

2.QTableWidget (表格)

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

  • 行列
cpp 复制代码
setColumnCount(n); //设置表格列数
setRowCount(m); //设置表格行数
rowCount(); //统计行数

ui->display_tableWidget->setColumnWidth(0,130);//手动设置第 1 列表格的宽度
  • 表头
cpp 复制代码
QHeaderView *headV=ui->display_tableWidget->verticalHeader();
headV->setHidden(true);//隐藏列表头
QHeaderView *headHor=ui->display_tableWidget->horizontalHeader();
headHor->setHidden(true);//隐藏行表头
  • 内容操作( 在 UI 图中可以直接设置数据,不过需要先添加行列表头,可以后面进行隐藏**)**
cpp 复制代码
//第 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);//居中显示
  • QTableWidgetItem 插入小图标
cpp 复制代码
item->setIcon(QIcon("文件地址"));

3.QStackedWidget(存储页面)

  • 页面索引查看
    • 先选中要查看索引的页面
    • 然后再点击 QStackedWidget ,鼠标右键,就可以看到存储了几页,上一次选中的是第几页
    • 注意:页的索引是从0开始的
  • 页面跳转
cpp 复制代码
ui->stackedWidget_2->setCurrentIndex(0);//跳转到 stackedWidget_2 下的第一页中
相关推荐
百事老饼干15 分钟前
Java[面试题]-真实面试
java·开发语言·面试
码农客栈22 分钟前
qt QWebSocketServer详解
qt
杨荧1 小时前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰1 小时前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT1 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。1 小时前
c++多线程
java·开发语言
小政爱学习!1 小时前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
k09331 小时前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯2 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue2 小时前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·