本文将介绍在PyQt5种更改窗体透明度的方法,使用的主要函数是:setWindowOpacity。
说明如下:
def setWindowOpacity(self, p_float): # real signature unknown; restored from __doc__
""" setWindowOpacity(self, float) """
pass
1、透明度的有效范围从1.0(完全不透明)到0.0(完全透明的)。
2、默认情况下,此属性的值是1.0。(也就是不透明状态)
3、这个特性可以在嵌入式Linux、Mac OS X、Windows、和X11平台上使用。
4、此功能不可用在Windows CE。
5、还要注意,半透明的windows更新和调整明显慢于不透明的窗口。(透明窗体的刷新速度会变慢)
实例:通过滚动条,调整窗体的透明度。
界面如下,通过调整滚动条,即可调整窗体的透明度,当滚动条在最右端时为不透明,当滚动条在最左端时为完全透明,滚动条嵌入在Group控件中。
1、界面设计代码如下:
# region gupTransparency
self.gupTransparency = QtWidgets.QGroupBox(self)
self.gupTransparency.setGeometry(QtCore.QRect(610, 10, 171, 51))
self.gupTransparency.setObjectName("gupTransparency")
self.gupTransparency.setTitle("透明度调整")
# endregion
# region hsdTransparency
self.hsdTransparency = QtWidgets.QSlider(self.gupTransparency)
self.hsdTransparency.setGeometry(QtCore.QRect(10, 20, 151, 19))
self.hsdTransparency.setMinimum(10)
self.hsdTransparency.setMaximum(100)
self.hsdTransparency.setValue(100)
self.hsdTransparency.setOrientation(QtCore.Qt.Horizontal)
self.hsdTransparency.setObjectName("hsdTransparency")
self.hsdTransparency.valueChanged.connect(self.ChangeTransparency)
# endregion
2、self.ChangeTransparecy的实现代码如下:
# 更改窗体透明度
def ChangeTransparency(self, e):
self.setWindowOpacity(self.hsdTransparency.value() / 100)
上述代码加入项目后,即可实现滚动条对窗体透明度的改变。
原创性文章,转载请注明出处
CSDN:http://blog.csdn.net/qingwufeiyang12346