gdw*_*dw2 5 python qt transparency pyside
(我正在使用PySide,但我认为对于任何语言绑定,答案都是相同/相似的)。
我正在尝试使用位于此处的整形时钟示例,并使时钟的表面(圆圈)透明,以便我看到的只是时钟指针和分钟刻度。照原样,当示例运行时,它看起来像这样。我正在使用Windows 7。
到目前为止,我已经尝试了以下方法(在构造函数中):
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.setAttribute(QtCore.Qt.WA_NoSystemBackground)
self.setWindowOpacity(0.5)
得到它了!
这来自原始示例代码(构造函数):
...
self.setWindowFlags(self.windowFlags() | QtCore.Qt.FramelessWindowHint)
...
Run Code Online (Sandbox Code Playgroud)
这是修改后的版本(按我的问题工作):
...
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
...
Run Code Online (Sandbox Code Playgroud)
删除self.windowFlags()是我缺少的部分。(我不确定我为什么要删除它,或者为什么要删除它……还有很多东西要学习)。
小智 5
如果我没记错的话,还应该设置其样式表:
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.setStyleSheet("background:transparent;")
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助。
| 归档时间: |
|
| 查看次数: |
11530 次 |
| 最近记录: |