C++ 如何更改Qwidget的背景色,而不考虑其父对象的背景色
我有一个定制的Qwidget,我必须改变它的背景颜色,而不是它的背景颜色。我的代码不起作用 我怎样才能做到呢? 我的代码是C++ 如何更改Qwidget的背景色,而不考虑其父对象的背景色,c++,qt,C++,Qt,我有一个定制的Qwidget,我必须改变它的背景颜色,而不是它的背景颜色。我的代码不起作用 我怎样才能做到呢? 我的代码是 QFrame *frame = new QFrame(ui->frame); QPalette palette; palette.setColor(QPalette::Background,Qt::red); frame->setFixedSize(240,240); frame->setPalette(palette); frame->setAu
QFrame *frame = new QFrame(ui->frame);
QPalette palette;
palette.setColor(QPalette::Background,Qt::red);
frame->setFixedSize(240,240);
frame->setPalette(palette);
frame->setAutoFillBackground(true);
frame->show();
你试过样式表吗 比如:
QFrame *frame = new QFrame(ui->frame);
frame->setFixedSize(240,240);
frame->setStyleSheet("background-color:black;");
frame->show();
我刚刚添加了
frame->setStyleSheet(“背景:黑色;”)
;
完成了
谢谢大家的回答。您能为解释添加更多细节吗?实际上我想更改自定义Qframe的背景色,它的父对象是透明的Qframe,如果我尝试将背景色设置为子Qframe,它总是透明的,而不是我正在设置的,我尝试了pallete.setBrush函数,但输出仍然相同。您使用的是什么样式?尝试
qpalete::Window
。是的,我尝试了,但输出仍然相同