QT透明布局

QT透明布局,qt,transparency,Qt,Transparency,我使用垂直布局(QVBoxLayout)来管理按钮。我想使其背景色为50%黑色透明。可能吗 啊哈。。。我已经有一段时间没有使用Qt了,但据我所知,QVBoxLayout没有背景色,所以不可能。布局不是一个小部件,也根本没有被绘制,它只管理子小部件的大小 如果您想要创建彩色布局,您可能需要创建一个具有您想要的任何颜色的小部件,然后将QVBoxLayout作为该小部件的父级 如果你想让所有版面的子版面的颜色都受到QVBoxLayout父版面颜色的影响,这会变得更有趣,但我认为Qt4演示中的“嵌入式对

我使用垂直布局(QVBoxLayout)来管理按钮。我想使其背景色为50%黑色透明。可能吗


啊哈。。。我已经有一段时间没有使用Qt了,但据我所知,QVBoxLayout没有背景色,所以不可能。布局不是一个小部件,也根本没有被绘制,它只管理子小部件的大小

如果您想要创建彩色布局,您可能需要创建一个具有您想要的任何颜色的小部件,然后将QVBoxLayout作为该小部件的父级


如果你想让所有版面的子版面的颜色都受到QVBoxLayout父版面颜色的影响,这会变得更有趣,但我认为Qt4演示中的“嵌入式对话框”演示可能会让你了解如何做到这一点。

根据你想要透明区域边界的位置,你需要在一个小部件中对按钮进行分组(如SigTerm所说)然后您可以通过调色板指定颜色

QPalette palette = widget->palette();
palette.setColor(QPalette::Window, QColor(100,100,100,100));
widget->setPalette(palette);
或者使用样式表

widget->setStylesheet("QWidget{background-color: rgba(100,100,100,100);}";
样式表的优点是,您可以从一个不在代码中的位置设置所有应用程序的样式,并通过
QApplication::setStylesheet(QString)