Q获取背景透明
QWidget background transparent
我在主窗口中有一个小部件,该小部件具有以下样式:
background-color:#ffeeeeee;width:100%;height:100%;
它设置为小部件布局并控制自动大小以填充小部件的几何形状,但小部件的背景始终是透明的。 我该怎么做才能使其不透明?
这是使用在RedHat Linux 7.2上运行的Qt5.6
。注意:语法 #ffeeeeee 特定于Qt,其中第一个节点是alpha,然后是红色,绿色和蓝色八位字节。
你的颜色中有太多字符。改变:
background-color: #ffeeeeee;
自:
background-color: #eeeeee;
如果要使用透明度,则必须明确:
background-color: rgba(...);
存在背景色并设置为以下任一颜色:
background-color:white;width:100%;height:100%;
或
background-color:#ffffff;width:100%;height:100%;
或我的原件:
background-color:#ffeeeeee;width:100%;height:100%;
属性 autoFillBackground 设置为 false,并且小组件的背景在运行时是透明的。
但是,删除任何背景色样式并仅保留样式:
width:100%;height:100%
属性 autoFillBackground 设置为 true,并且小部件是不透明的。
据我所知,样式中没有错误,我相信这可能是Qt中的错误。
你有没有尝试过使用 QWidget::setWindowOpacity(1),其中 1 = 不透明,0 = 透明。
下面是为按钮设置50%不透明度的代码,但它也可以扩展到小部件。
ui->setupUi(this);
QGraphicsOpacityEffect * effect = new QGraphicsOpacityEffect(ui->pushButton);
effect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(effect);
相关文章:
- 如何在全屏模式下(在OpenGL中)使背景透明
- SDL2 透明背景
- 调整HBITMAP的大小,同时保持透明背景
- 当我使用 DirectWrite 在 GDI hdc 上绘制文本时,如何设置透明背景
- 通过使用alpha混合opengl实现具有透明背景的纹理
- 如何使用 c++/WinAPI 绘制具有透明背景的文本
- OpenFrameworks中的透明背景窗口
- C++libPng 编写一个具有透明背景的 PNG
- QWebEngine页面中的透明背景
- SDL 纹理透明背景
- 使用C++/OpenCV或Matlab将图像的白色背景替换为透明背景
- 透明背景的C++按钮
- MFC显示具有透明背景的png
- 如何将SDL TTF表面转换为具有透明背景的GL纹理
- wxBitmap透明背景
- 如何在CBitmap上使用透明背景的CDC绘制文本
- 在c++ / OpenGL中显示无边框透明背景上的图像
- 使用WinAPI创建具有透明背景的文本标签
- SDL rendertextshade透明背景
- 如何在透明背景上绘制 PNG