QSS(Qt Style Sheets)是一种用于定制 Qt 应用程序中控件外观的样式表语言,类似于 Web 开发中的 CSS。通过 QSS,开发者可以轻松地修改控件的颜色、字体、边框、间距等属性,从而实现个性化的界面设计。对于 QLineEdit
控件,QSS 可以用于设置背景颜色、文本颜色、边框样式、内边距等,提升输入框的视觉效果和用户体验,使得界面更加美观和符合应用需求。
MainWidget.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRegularExpression>
#include <QRegularExpressionValidator>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->lineEdit->setText("Hello LineEdit");
ui->lineEdit_2->setText("Hello LineEdit");
ui->lineEdit_3->setText("Hello LineEdit");
ui->lineEdit_4->setText("Hello LineEdit");
ui->lineEdit_2->setReadOnly(true);
ui->lineEdit_3->setEchoMode(QLineEdit::Password);
ui->lineEdit_4->setDisabled(true);
QRegularExpression regx("\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}");
QValidator *validator = new QRegularExpressionValidator(regx, ui->lineEdit_5);
ui->lineEdit_5->setValidator(validator);
QString qss1=R"(
QLineEdit{
border: 1px solid #ABCDA0; /* 边框宽度为1px,颜色为#A0A0A0 */
border-radius: 3px; /* 边框圆角 */
padding-left: 5px; /* 文本距离左边界有5px */
background-color: #F2F2F2; /* 背景颜色 */
color: #A0A0A0; /* 文本颜色 */
selection-background-color: #A0A0A0; /* 选中文本的背景颜色 */
selection-color: #F2F2F2; /* 选中文本的颜色 */
font-family: "Microsoft YaHei"; /* 文本字体族 */
font-size: 10pt; /* 文本字体大小 */
}
QLineEdit:hover { /* 鼠标悬浮在QLineEdit时的状态 */
border: 1px solid #298DFF;
border-radius: 3px;
background-color: #F2F2F2;
color: #298DFF;
selection-background-color: #298DFF;
selection-color: #F2F2F2;
}
QLineEdit[echoMode="2"] { /* QLineEdit有输入掩码时的状态 */
lineedit-password-character: 9679;
lineedit-password-mask-delay: 2000;
}
QLineEdit:disabled { /* QLineEdit在禁用时的状态 */
border: 1px solid #CDCDCD;
background-color: #CDCDCD;
color: #B4B4B4;
}
QLineEdit:read-only { /* QLineEdit在只读时的状态 */
background-color: #CDCDCD;
color: #F2F2F2;
}
)";
this->