Qt怎么画出上下两种背景颜色,一个布局QHboxLayout中有上下两个布局,使两个布局的背景颜色不同

一个布局QHboxLayout中有上下两个QHboxLayout,要使这两个布局的背景颜色不同,如下图:

图片说明

我的做法是
LayoutMain, layout1, layout2;

QWidget widget1 = new QWidget;
widget1->setLayout(layout1);
widget1->setStyleSheet("background-color: rgb(0,23,123)");

QWidget* widget2 = new QWidget;
widget2->setLayout(layout2);
widget2->setStyleSheet("background-color: rgb(123,44 213)");

LayoutMain->addWidget(widgt1);
LayoutMain->addWidget(widgt2);

但这样会造成布局中的 button, label, lineEdit 也蒙上了一层背景色,大家有没有好的做法?

setStyleSheet 指定widget名称