主页 > 知识库 > pyqt5 设置窗体透明控件不透明的操作

pyqt5 设置窗体透明控件不透明的操作

热门标签:企业做大做强 电话运营中心 硅谷的囚徒呼叫中心 客户服务 Win7旗舰版 语音系统 百度AI接口 呼叫中心市场需求

我就废话不多说了,大家还是直接看代码吧~

// 窗体透明,控件不透明
self.setWindowFlags(Qt.FramelessWindowHint | Qt.Tool)
self.setAttribute(Qt.WA_TranslucentBackground)

补充:【解决问题】pyqt5设置窗体透明,而上面的控件不透明

在做软件的时候想把QWidget设置成透明的,我在网上搜了各种答案:

有说设置qss背景属性的:background: transparent; 但是这样就全透明了。如图3

还有qss里设置 background:rgba(0,0,0,0.2)也是一样的,还是会完全透明

网上查的这些代码也没有用:

setWindowOpacity(0.7);
setAttribute(Qt::WA_TranslucentBackground, true);
setAttribute(Qt::WA_TranslucentBackground);

有说用QGraphicsOpacityEffect设置的:大事难事这样整个widget上的控件也透明了,如图2。

op = QtWidgets.QGraphicsOpacityEffect()
op.setOpacity(0.5)
你的控件.setGraphicsEffect(op)
你的控件.setAutoFillBackground(True)

图一(原图) 图二 图三

但是我希望工具栏wiget自身透明,而上面的控件保持原状。吐槽:真是奇了怪了,qss内置了那没多css的属性,怎么会没有一个不透明度的属性呢???

于是我想着要不要重叠两个widget,下面一个按照下面的方法半透明,上面的变成全透明然后再放各种控件,理论上应该可行,但是这样太麻烦了我迟迟没动手。

过了一天以后,我灵光一闪!我直接把widget的背景上面放一个半透明的图片不就可以了吗!!我真是个小机灵鬼! 于是我打开ps弄了一张透明度为50%的白色图片保存成png模式,然后qss里面设置一下:

#Tool_Widget{
 border-radius: 10px;
 border-image: url(img/toolbg.png)
} 

搞定!!!!快夸我!!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • PyQt5 matplotlib画图不刷新的解决方案
  • PyQt5 设置窗口全屏显示方式
  • Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作
  • 解决PyQt5 无边框后窗口的移动问题
  • PyQt5 实现给无边框widget窗口添加背景图片
  • PyQt5通过信号实现MVC的示例
  • PyQt5中QSpinBox计数器的实现

标签:山西 喀什 海南 山西 长沙 济南 崇左 安康

巨人网络通讯声明:本文标题《pyqt5 设置窗体透明控件不透明的操作》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266