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颜色不发生变化?
4 个解决方案
#1
setStyleSheet("background-color:rgb(234,234,234)");
试试
试试
#2
建议楼主去看看QT的样式表,QSS也就是QtStyleSheet。这样你就会发现Qt的方便
#3
修改QLineEdit背景色应该是QPalette::Base
QPalette::Window是修改窗口背景色的
QPalette::Window是修改窗口背景色的
#4
楼主搞错了吧,
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.//应该用这个的
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.//应该用这个的
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.
#1
setStyleSheet("background-color:rgb(234,234,234)");
试试
试试
#2
建议楼主去看看QT的样式表,QSS也就是QtStyleSheet。这样你就会发现Qt的方便
#3
修改QLineEdit背景色应该是QPalette::Base
QPalette::Window是修改窗口背景色的
QPalette::Window是修改窗口背景色的
#4
楼主搞错了吧,
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.//应该用这个的
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.
QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.//应该用这个的
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.