Pyqt5给显示框加边框

要在PyQt5中给显示框(QLabel)加边框,可以使用以下方法:

Pyqt5给显示框加边框
(图片来源网络,侵删)

1、使用QFrame类创建边框

2、设置QLabel的样式表(QSS)来添加边框

下面是详细的步骤和代码示例:

方法1:使用QFrame类创建边框

1、导入所需的库:

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

2、创建一个继承自QWidget的自定义类,并在其构造函数中设置布局和控件:

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        # 设置窗口标题和大小
        self.setWindowTitle('PyQt5 QLabel with Border')
        self.resize(300, 200)
        # 创建垂直布局
        layout = QVBoxLayout()
        # 创建QLabel并设置文本
        label = QLabel('Hello, PyQt5!')
        # 创建QFrame作为边框
        frame = QFrame()
        frame.setFrameShape(QFrame.Box)  # 设置边框形状
        frame.setFrameShadow(QFrame.Sunken)  # 设置边框阴影
        # 将QLabel添加到QFrame中
        frame.setLayout(layout)
        frame.addWidget(label)
        # 将QFrame添加到布局中
        layout.addWidget(frame)
        # 设置窗口布局
        self.setLayout(layout)

3、创建应用程序实例并运行:

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

方法2:设置QLabel的样式表(QSS)来添加边框

1、导入所需的库:

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

2、创建一个继承自QWidget的自定义类,并在其构造函数中设置布局和控件:

class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        # 设置窗口标题和大小
        self.setWindowTitle('PyQt5 QLabel with Border')
        self.resize(300, 200)
        # 创建垂直布局
        layout = QVBoxLayout()
        # 创建QLabel并设置文本
        label = QLabel('Hello, PyQt5!')
        # 设置QLabel的样式表(QSS)来添加边框
        label.setStyleSheet("border: 2px solid red;")
        # 将QLabel添加到布局中
        layout.addWidget(label)
        # 设置窗口布局
        self.setLayout(layout)

3、创建应用程序实例并运行:

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

以上两种方法都可以实现给QLabel添加边框的效果。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/482343.html

(0)
未希新媒体运营
上一篇 2024-04-16 11:52
下一篇 2024-04-16 11:54

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入