当前位置: 代码迷 >> QT开发 >> Qt 设置控件背景色解决方案
  详细解决方案

Qt 设置控件背景色解决方案

热度:292   发布时间:2016-04-25 05:09:21.0
Qt 设置控件背景色
练习程序

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,指按钮窗口部件的前景色.
  相关解决方案