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 下的第一页中