练习程序
void Dialog::on_btnChangeEditColor_clicked()
{
ui->edit->setText("12345");
QColor color = QColor(Qt::blue);
QPalette pal = ui->edit->palette();
pal.setColor(QPalette::Window, color);
ui->edit->setPalette(pal);
ui->edit->update();
}
请问为什么按照上述方法设置背景色后,控件lineedit颜色不发生变化?
------解决方案--------------------
修改QLineEdit背景色应该是QPalette::Base
QPalette::Window是修改窗口背景色的
------解决方案--------------------
楼主搞错了吧,
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.//应该用这个的
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.