PyQt5 – 如何制作半透明的标签

  • Post category:Python

Python中的PyQt5库是一个常用的UI工具箱,它具有灵活性高、开发效率高和功能多样等特点。在PyQt5中,制作半透明的标签可以通过设置标签的透明度来实现。

下面是PyQt5制作半透明标签的详细使用攻略:

第一步:导入所需模块和类,然后创建应用程序和一个窗口。

from PyQt5.QtWidgets import QApplication, QWidget, QLabel
import sys

app = QApplication(sys.argv)
window = QWidget()

# 添加标签
label = QLabel("这是一个半透明标签", window)
label.move(50, 50)
label.setStyleSheet("background-color: white; opacity:0.5;")

window.show()
sys.exit(app.exec_())

在上述代码中,我们导入了QApplication、QWidget和QLabel等模块和类,并创建了一个名为window的窗口。在窗口中,我们添加了一个名为label的标签,并使用move()方法将标签移动到(50, 50)的位置上。同时,我们为标签设置了一个白色背景和透明度为50%的样式表。

第二步:设置标签的透明度。在PyQt5中,可以使用setWindowOpacity()setStyleSheet("background-color: rgba(255, 255, 255, %d);" % alpha)方法设置标签的透明度。其中,alpha的值范围是0到1之间,表示透明度的百分比。

下面是一个示例代码,展示了如何通过更改透明度的值,来制作不同透明度的标签。

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
import sys

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()

        # 添加标签1
        label1 = QLabel("这是一个半透明标签(50%)")
        label1.setStyleSheet("background-color: white; opacity:0.5;")

        # 添加标签2
        label2 = QLabel("这是一个半透明标签(75%)")
        label2.setStyleSheet("background-color: white; opacity:0.75;")

        # 使用垂直布局
        vbox = QVBoxLayout()

        # 将标签添加到布局中
        vbox.addWidget(label1)
        vbox.addWidget(label2)

        self.setLayout(vbox)

app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

在上述代码中,我们定义了一个名为MyWindow的类,通过设置两个不同透明度的标签来展示半透明标签的效果。同时,我们使用QVBoxLayout来添加多个标签,并将它们分别添加到容器中。

通过这两个示例代码,我们了解了PyQt5中如何通过设置样式表来制作半透明标签,并展示如何通过更改不同的透明度值来实现不同类型的半透明标签。