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

news2025/6/4 11:41:26

文章目录

  • 标签控件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 sys

app = 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,QSize

class 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.coloradmin.cn/o/2395946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS (mask)实现服装动态换色:创意与技术的完美融合

在网页开发中&#xff0c;我们常常会遇到需要对图片元素进行个性化处理的需求&#xff0c;比如改变图片中特定部分的颜色。今天&#xff0c;我们就来探讨一种通过 CSS 和 JavaScript 结合&#xff0c;实现服装动态换色的有趣方法。 一、代码整体结构分析 上述代码构建了一个完…

基于51单片机的音乐盒汽车喇叭调音量proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1l3CSSMi4uMV5-XLefnKoSg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…

彻底理解Spring三级缓存机制

文章目录 前言一、Spring解决循环依赖时&#xff0c;为什么要使用三级缓存&#xff1f; 前言 Spring解决循环依赖的手段&#xff0c;是通过三级缓存&#xff1a; singletonObjects&#xff1a;存放所有生命周期完整的单例对象。&#xff08;一级缓存&#xff09;earlySingleto…

【产品经理从0到1】自媒体端产品设计

后台的定义 “后台” 与“前台”都是相对独立的平台&#xff0c;前台是服务于互联网用户的平台 &#xff0c;后台主要是支撑前台页面内容、数据及对前台业务情况的统计分析的系统&#xff1b; 后台与前台的区别 第1&#xff1a;使用用户不同 前台用户&#xff1a;互联网用户…

017搜索之深度优先DFS——算法备赛

深度优先搜索 如果说广度优先搜索是逐层扩散&#xff0c;那深度优先搜索就是一条道走到黑。 深度优先遍历是用递归实现的&#xff0c;预定一条顺序规则&#xff08;如上下左右顺序&#xff09; &#xff0c;一直往第一个方向搜索直到走到尽头或不满足要求后返回上一个叉路口按…

Thinkphp6实现websocket

项目需要连接一台自动售货机&#xff0c;售货机要求两边用websocket连接,监听9997端口。本文实现了一个基于PHP的WebSocket服务器&#xff0c;用于连接自动售货机&#xff0c;支持start/stop/restart命令操作 1.新建文件 新建文件 /command/socket.php <?php namespace a…

web-css

一.CSS选择器&#xff1a; 1.基础选择器 基本选择器&#xff1a; >.标签选择器 格式&#xff1a;标签名称{} >.类选择器&#xff08;重&#xff09; 格式&#xff1a;.class属性的值{} >.id选择器 格式&#xff1a;#id属性的值{} >.通配符&#xff08;表示所有&am…

三、zookeeper 常用shell命令

作者&#xff1a;IvanCodes 日期&#xff1a;2025年5月28日 专栏&#xff1a;Zookeeper教程 ZooKeeper Shell (zkCli.sh) 是与ZooKeeper服务器交互的核心工具。本教程将详细介绍常用命令&#xff0c;并重点解析ZooKeeper数据节点 (ZNode) 的特性与分类。 思维导图 一、连接 Zo…

分布式流处理与消息传递——Paxos Stream 算法详解

Java 实现 Paxos Stream 算法详解 一、Paxos Stream 核心设计 #mermaid-svg-cEJcmpaQwLXpEbx9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-cEJcmpaQwLXpEbx9 .error-icon{fill:#552222;}#mermaid-svg-cEJcmpaQw…

960g轻薄本,把科技塞进巧克力盒子

朋友们&#xff0c;谁懂啊 最近本打工人被同事疯狂种草了一款 “巧克力盒子” 华硕灵耀 14 Air 骁龙版&#xff01; 960g的重量比一瓶大可乐还轻 塞进通勤包毫无压力 连健身房的瑜伽垫都能多卷两圈 这台行走的生产力工具&#xff0c;到底有啥魔法&#xff1f; 今天就带…

xcode 编译运行错误 Sandbox: rsync(29343) deny(1) file-write-create

解决方法 方法一&#xff1a;修改Targets -> Build Settings 中 ENABLE_USER_SCRIPT_SANDBOXING 设置 NO 方法二&#xff1a;项目使用cocoaPods进行三方管理 且 使用了 use_frameworks&#xff0c;把 use_frameworks 注释掉,然后重新自行pod install

C# 基于 Windows 系统与 Visual Studio 2017 的 Messenger 消息传递机制详解:发布-订阅模式实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…

ComfyUI+阿里Wan2.1+内网穿透技术:本地AI视频生成系统搭建实战

文章目录 前言1.软件准备1.1 ComfyUI1.2 文本编码器1.3 VAE1.4 视频生成模型 2.整合配置3. 本地运行测试4. 公网使用Wan2.1模型生成视频4.1 创建远程连接公网地址 5. 固定远程访问公网地址总结 前言 各位技术爱好者&#xff0c;今天为您带来一组创新性的AI应用方案&#xff01…

利用海外代理IP,做Twitter2026年全球趋势数据分析

近年来&#xff0c;社交媒体趋势分析逐渐成为品牌监控、市场洞察和消费者研究的必备工具。而当谈到全球趋势数据分析&#xff0c;很多人都会立即想到 Twitter趋势&#xff08;逼近连美丽国的总统都喜欢在上面发表自己的看法- -!!!&#xff09;。Twitter趋势&#xff0c;即Twitt…

pikachu靶场通关笔记06 XSS关卡02-反射型POST

目录 一、XSS 二、反射型XSS 三、POST型报文 四、GET型与POST型区别 五、代码审计 五、渗透实战 1、渗透方法1 2、渗透方法2 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关&#xff09;渗透集合&#xff0c;通过对XSS关卡源码的代码审计找到XSS风险的真实原因&…

SQLiteStudio - 免费开源、轻量高效,跨平台的 SQLite 数据库管理工具,代替 Navicat for SQLite

管理 SQLite 数据库就用这款软件&#xff0c;真的早该摒弃破解和盗版的 Navicat 了。 SQLiteStudio 是一款专注于管理 SQLite 数据库 的桌面软件&#xff0c;用于浏览和编辑 SQLite 数据库文件。软件的作者是来自波兰的开发者 Paweł Salawa&#xff0c;他是一位拥有 20 年 Ja…

Prometheus + Grafana + Cadvisor:构建高效企业级服务监控体系

在现代软件开发和运维领域&#xff0c;容器化技术的应用越来越广泛&#xff0c;其中 Docker 作为最受欢迎的容器化解决方案之一&#xff0c;其容器的监控管理变得至关重要。本文将详细介绍如何使用 cadvisor、Prometheus 和 Grafana 来监控 Docker 容器的状态。 一、安装镜像 …

WEBSTORM前端 —— 第3章:移动 Web —— 第2节:空间转换、转化

目录 一、空间转换 1.空间转换 2.空间转换 – 平移 3.视距 perspective 4.空间 – 旋转 ③空间旋转——Z轴代码与效果视频 ④空间旋转——X轴代码与效果视频 ⑤空间旋转——Y轴代码与效果视频 5.立体呈现 – transform-style 案例 – 3D 导航 6.空间转换 – 缩放 …

Java研学-MongoDB(一)

一 MongoDB 简介 MongoDB是一种高性能、开源的NoSQL数据库&#xff0c;采用面向文档的存储模型&#xff0c;以BSON&#xff08;Binary JSON&#xff09;格式存储数据&#xff0c;具有灵活的数据模型、强大的扩展性和丰富的功能特性&#xff0c;广泛应用于各类现代应用程序的数据…

【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析

今天我们来聊聊大模型领域一个非常火热的技术——RAG&#xff08;Retrieval Augmented Generation&#xff09;。RAG通过引入外部知识库&#xff0c;有效地缓解了大型语言模型&#xff08;LLM&#xff09;在处理知识密集型任务时可能出现的幻觉、知识过时等问题。然而&#xff…