企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

新手Python项目实战 - PyQT篇 3、文本标签 QLabel

wudianyun 2025-05-26 19:28:10 精选文章 3 ℃

1、本节知识点详解

QLabel 控件基础

QLabel 是 Qt 框架中用于显示文本或图像的控件,常用于界面中的标签显示,可灵活设置文本内容、样式及布局方式。

关键功能与属性

  • 文本内容设置:通过 setText() 方法可直接设置标签显示的文本。
  • 字体样式调整:利用 QFont 类定义字体的类型、大小、粗细等属性,再通过 setFont() 应用到标签。
  • 颜色设置:可通过样式表(setStyleSheet())或调色板(QPalette)设置文本颜色。
  • 对齐方式控制:使用 setAlignment() 方法设置文本在标签内的对齐方式(如左对齐、居中、右对齐等)。
  • 动态文本更新:支持在程序运行时通过 setText() 方法实时修改标签显示的内容。

应用场景

  • 显示静态说明文本(如表单标签、提示信息)。
  • 动态展示数据(如计数器、实时状态信息)。
  • 结合样式表实现多样化的文本展示效果。

2、代码描述

python

import sys
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PyQt5.QtGui import QFont, QPalette, Qt
from PyQt5.QtCore import Qt as QtCoreQt

# 创建应用实例
app = QApplication(sys.argv)

# 创建主窗口
window = QWidget()
window.setWindowTitle("QLabel 控件示例")
window.setGeometry(100, 100, 400, 300)

# 创建垂直布局
layout = QVBoxLayout(window)

# 1. 创建基础标签并设置文本内容
basic_label = QLabel("这是一个基础文本标签")
layout.addWidget(basic_label)

# 2. 设置标签字体(微软雅黑,12号,加粗)
font = QFont("Microsoft YaHei", 12, QFont.Bold)
font_label = QLabel("字体样式设置示例")
font_label.setFont(font)
layout.addWidget(font_label)

# 3. 设置文本颜色(红色)
color_label = QLabel("文本颜色设置")
palette = QPalette()
palette.setColor(QPalette.WindowText, Qt.red)  # 设置文本颜色为红色
color_label.setPalette(palette)
layout.addWidget(color_label)

# 4. 设置对齐方式(居中对齐)
align_label = QLabel("居中对齐文本示例")
align_label.setAlignment(QtCoreQt.AlignCenter)  # 水平和垂直方向都居中
layout.addWidget(align_label)

# 5. 动态更新标签文本(通过按钮点击事件实现,此处简化为定时器更新)
dynamic_label = QLabel("动态文本将在此更新")
layout.addWidget(dynamic_label)

# 模拟动态更新文本(实际开发中可通过信号槽机制触发)
import time
from PyQt5.QtCore import QTimer

def update_text():
    current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    dynamic_label.setText(f"当前时间:{current_time}")

# 创建定时器,每1秒更新一次文本
timer = QTimer()
timer.timeout.connect(update_text)
timer.start(1000)  # 1000毫秒 = 1秒

# 显示窗口
window.show()
sys.exit(app.exec_())

代码注释说明:

  • 导入必要的模块:包括 Qt 界面组件、字体和颜色相关类、定时器等。
  • 基础标签创建:通过 QLabel 初始化标签并设置初始文本。
  • 字体设置:使用 QFont 定义字体样式,包括字体类型、大小和粗细。
  • 颜色设置:通过 QPalette 调整文本颜色,也可使用样式表(如 color_label.setStyleSheet("color: red;"))。
  • 对齐方式:setAlignment() 方法结合 Qt.AlignCenter 实现居中效果。
  • 动态更新:利用 QTimer 定时触发 setText() 方法修改标签内容,模拟实时数据展示。

Tags:

最近发表
标签列表