当前位置: 首页 > article >正文

PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)

文章目录

  • 标签控件QLabel及其应用举例
    • 标签控件QLabel的常用方法及信号
    • 应用举例
      • Python 代码示例1
      • Python 代码示例2
    • 小结

标签控件QLabel及其应用举例

QLabel 是 PySide6.QtWidgets 模块中的一个控件,用于在界面上显示文本或图像。它常用于作为标签、提示信息或图片展示。QLabel 支持丰富的文本格式(如 HTML)、自动换行、对齐方式设置,并可显示静态图片或动画(如 GIF)。

常用属性和方法包括:

  • setText():设置显示的文本内容。
  • setPixmap():设置显示的图片。
  • setAlignment():设置文本或图片的对齐方式。
  • setWordWrap():设置是否自动换行。
  • setTextFormat():设置文本格式(纯文本或富文本)。
  • setBuddy():为标签设置伙伴控件,实现快捷键跳转。

QLabel 适用于需要静态文本或图片展示的场景,不支持用户编辑。更多详细信息可参考官方文档。

标签控件QLabel的常用方法及信号

方法名说明
setText(text)设置标签显示的文本内容
setPixmap(pixmap)设置标签显示的图片
setAlignment(alignment)设置文本或图片的对齐方式
setWordWrap(on)设置是否自动换行
setTextFormat(format)设置文本格式(纯文本或富文本)
setBuddy(widget)设置伙伴控件,实现快捷键跳转
setScaledContents(scaled)设置图片是否自动缩放以适应标签大小
setOpenExternalLinks(open)设置是否允许点击超链接打开外部链接
text()获取当前显示的文本内容
pixmap()获取当前显示的图片
alignment()获取当前对齐方式
wordWrap()获取当前是否自动换行
textFormat()获取当前文本格式
buddy()获取当前伙伴控件
[slot] clear()清除标签内容
[slot] setNum(num)设置数字内容(int/float)
[slot] setPicture(picture)设置QPicture对象为标签内容
[slot] setMovie(movie)设置QMovie动画为标签内容
[slot] setTextInteractionFlags(flags)设置文本交互标志

应用举例

Python 代码示例1

from PySide6.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
from PySide6.QtCore import Qt
import sysapp = QApplication(sys.argv)window = QWidget()
window.setWindowTitle("QLabel 示例")label1 = QLabel("这是一个普通文本标签")
label2 = QLabel("<b>支持富文本显示</b>")
label2.setTextFormat(Qt.RichText)
label3 = QLabel()
label3.setText("多行文本自动换行演示。QLabel 可以根据窗口大小自动换行。")
label3.setWordWrap(True)layout = QVBoxLayout(window)
layout.addWidget(label1)
layout.addWidget(label2)
layout.addWidget(label3)window.setLayout(layout)
window.show()
app.exec()

示例1

Python 代码示例2

import sys
from PySide6.QtWidgets import QApplication,QWidget,QLabel
from PySide6.QtGui import QPixmap,QFont
from PySide6.QtCore import QRect,Qt,QSizeclass MyWidget(QWidget):def __init__(self,parent=None):super().__init__(parent)self.setFixedSize(QSize(600,400))w = self.width()  #窗口的宽度h = self.height()  #窗口高度self.label1 = QLabel(self)self.label2 = QLabel(self)self.label3 = QLabel(self)self.label4 = QLabel(self)self.label1.setGeometry(QRect(0, 0, w,h))self.label1.setPixmap(QPixmap("pic.png"))self.label2.setGeometry(QRect(int(w/2)-150,150,300,30))font = QFont("微软雅黑",pointSize = 18)self.label2.setFont(font)self.label2.setText("<A href='https://blog.csdn.net/Humbunklung'>欢迎来到我的CSDN博客!</A>")self.label2.setToolTip("我的博客 https://blog.csdn.net/Humbunklung")  #设置提示信息self.label2.setAlignment(Qt.AlignCenter | Qt.AlignVCenter)self.label2.linkHovered.connect(self.hover)  #定义信号与槽的链接self.label2.linkActivated.connect(self.activated)  #定义信号与槽的链接self.label3.setGeometry(QRect(int(w/2),h-50,int(w/2),50))font = QFont("楷体",pointSize = 20)self.label3.setFont(font)self.label3.setText(">>进入我的<A href='https://blog.csdn.net/Humbunklung'>博客</A>")self.label3.setOpenExternalLinks(True)def hover(self,link):  #鼠标经过超链接的关联函数print("欢迎来到我的博客!")def activated(self,link):  #单击超链接的关联函数rect = self.label3.geometry()rect.setY(rect.y()-50)self.label4.setGeometry(rect)self.label4.setText("单击此链接,进入网站"+link)
if __name__ == '__main__':app=QApplication(sys.argv)window = MyWidget()window.show()sys.exit(app.exec())

示例2

小结

本文介绍了 PySide6 中 QLabel 控件的常用属性、方法及其应用场景,并通过两个 Python 代码示例演示了 QLabel 在文本、富文本、图片及超链接等方面的实际用法。QLabel 适合用于显示静态文本或图片,支持丰富的文本格式和交互功能,是 GUI 编程中常用的基础控件之一。

http://www.lryc.cn/news/2395946.html

相关文章:

  • CSS (mask)实现服装动态换色:创意与技术的完美融合
  • 基于51单片机的音乐盒汽车喇叭调音量proteus仿真
  • 彻底理解Spring三级缓存机制
  • MacOs 安装局域网 gitlab 记录
  • Flutter 与 Android 原生布局组件对照表(完整版)
  • 【产品经理从0到1】自媒体端产品设计
  • 017搜索之深度优先DFS——算法备赛
  • 解决 maven编译项目-Fatal error compiling: 无效的目标发行版: 21 -> [Help 1]
  • Thinkphp6实现websocket
  • web-css
  • 关于 smali:2. 从 Java 到 Smali 的映射
  • 三、zookeeper 常用shell命令
  • 分布式流处理与消息传递——Paxos Stream 算法详解
  • 智变与重构:AI 赋能基础教育教学的范式转型研究报告
  • 平衡三进制
  • 针对Python开发的工具推荐及分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等)
  • 960g轻薄本,把科技塞进巧克力盒子
  • xcode 编译运行错误 Sandbox: rsync(29343) deny(1) file-write-create
  • C# 基于 Windows 系统与 Visual Studio 2017 的 Messenger 消息传递机制详解:发布-订阅模式实现
  • ComfyUI+阿里Wan2.1+内网穿透技术:本地AI视频生成系统搭建实战
  • 腾讯云开发者社区文章内容提取免费API接口教程
  • 利用海外代理IP,做Twitter2026年全球趋势数据分析
  • OpenLayers 图形交互编辑
  • pikachu靶场通关笔记06 XSS关卡02-反射型POST
  • SQLiteStudio - 免费开源、轻量高效,跨平台的 SQLite 数据库管理工具,代替 Navicat for SQLite
  • Prometheus + Grafana + Cadvisor:构建高效企业级服务监控体系
  • WEBSTORM前端 —— 第3章:移动 Web —— 第2节:空间转换、转化
  • Java研学-MongoDB(一)
  • 【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析
  • OpenGL、GLUT、freeGLUT 与 GLFW 的区别