QT透明布局
我使用垂直布局(QVBoxLayout)来管理按钮。我想将其背景颜色设置为 50% 黑色透明。是否可以 ?
SW
I am using a vertical layout (QVBoxLayout) to manage buttons. I would like to make its background color as 50% black transparent. Is it possible ?
sw
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据您想要透明区域边框的位置,您需要将按钮分组在小部件中(如 SigTerm 所说),然后您可以通过调色板指定颜色或
使用样式表,
样式表的优点是您可以设置样式从代码中没有的一个位置调用所有应用程序,并通过 QApplication::setStylesheet(QString) 设置应用程序范围的样式表
Depending where you want the border of the transparent area, you will need to group the buttons in a widget (as SigTerm said) and then you can assign a color either via the palette
or use a stylesheet
the stylesheet has the advantage that you can style all of your application from one spot that is not in the code and set an application wide stylesheet via
QApplication::setStylesheet(QString)
咳咳……我已经有一段时间没有使用Qt了,但据我所知,QVBoxLayout没有背景色,所以不,这是不可能的。布局不是一个小部件,它根本没有被绘制,它只管理子小部件的大小。
如果您想创建彩色布局,您可能必须创建一个具有所需颜色的小部件,然后将 QVBoxLayout 设为该小部件的父级。
如果您希望所有布局的子级颜色都受到 QVBoxLayout 父级颜色的影响,那会变得更有趣,但我认为 Qt4 演示中的“嵌入式对话框”演示可能会让您了解如何做到这一点。
Ahem... it's been a while since I used Qt, but as far as I know, QVBoxLayout has no background color, so no, it isn't possible. Layout isn't a widget and it isn't being painted at all, it only manages child widget sizes.
If you want to create colored layout, you'll probably have to create a widget with whatever color your want, and then parent QVBoxLayout to that widget.
It'll become more fun if you want color of all layout's children to be affected by color of QVBoxLayout's parent, but I think that "Embedded Dialogs" demo from Qt4 demo may give you an idea about how it can be done.