Qt 会根据QLineEdit控件显示文本的颜色自动设置placeholderText颜色,如果想自定义placeholderText颜色,可以通过以下方法。
在样式文件中增加以下设置:
cpp
QLineEdit#lineEdit_userName,
QLineEdit#lineEdit_password{
border: none;
padding: 6px 6px;
background-color: transparent;
color: #FFFFFF;
font-size: 10.5pt;
font-family: Microsoft YaHei;
font-weight: 500;
}
QLineEdit#lineEdit_userName[text=""],
QLineEdit#lineEdit_password[text=""]{ /* 设置 placeholderText 颜色*/
color: #868C99;
}
在源码文件中增加以下代码:
cpp
// 使样式表中对 placeholderText 的颜色设置生效
connect(ui->lineEdit_userName, &QLineEdit::textChanged, [=]{style()->polish(ui->lineEdit_userName);});
connect(ui->lineEdit_password, &QLineEdit::textChanged, [=]{style()->polish(ui->lineEdit_password);});