Pyside6-第八篇-QLabel文本标签

news2024/11/23 22:43:59

本篇是Pyside6的第八篇,本章来看看另一个知识点。

文本标签QLabel。它不仅仅可以用于文本,还可以显示富文本和图像。它是一个多功能的小部件,可以根据需要显示不同类型的内容。

部分源码

class QLabel(QFrame):
    """
    QLabel(self, parent: Optional[PySide6.QtWidgets.QWidget] = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags)) -> None
    QLabel(self, text: str, parent: Optional[PySide6.QtWidgets.QWidget] = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags)) -> None
    """

很明显,有两种方式创建,跟之前的按钮类似。

from PySide6.QtWidgets import QApplication,QWidget,QLabel


class Label(QWidget):
    def __init__(self):
        super(Label, self).__init__()
        self.UI()
        self.setWindowTitle("QLabel")
        self.setGeometry(200,200,500,300)

    def UI(self):
        label_ = QLabel(self)
        label_.setText("账号")
        label_.setGeometry(100,100,30,30)
        label_1 = QLabel("密码",self)
        label_1.setGeometry(100, 140, 30, 30)
        self.show()

if __name__ == '__main__':
    app = QApplication([])
    label = Label()
    app.exec()
53949c0b00c9c5729b3fde959784590b.png

好了,基础的玩意介绍完毕,接下来就是正题了。

对齐方式

为什么这里要讲,因为后面很多时候都会用到。

水平对齐:
Qt.AlignLeft      与左边缘对齐
Qt.AlignRight     与右边缘对齐
Qt.AlignHCenter   在可用空间中水平居中
Qt.AlignJustify   两端对齐(尽可能使文字占满横向空间)

垂直对齐:
Qt.AlignTop       与顶部对齐
Qt.AlignBottom    与底部对齐
Qt.AlignVCenter   在可用空间中垂直居中
Qt.AlignBaseline  与基线对齐
from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QWidget, QLabel

class Label(QWidget):
    def __init__(self):
        super(Label, self).__init__()
        self.UI()
        self.setWindowTitle("QLabel")
        self.setGeometry(200, 200, 500, 300)

    def UI(self):
        label_ = QLabel(self)
        label_.setText("账号")
        label_.setGeometry(100, 100, 70, 30)
        label_.setAlignment(Qt.AlignLeft)
        label_.setStyleSheet("background-color: #D7C0AE")

        label_1 = QLabel("密码", self)
        label_1.setGeometry(100, 140, 70, 30)
        label_1.setAlignment(Qt.AlignRight)
        label_1.setStyleSheet("background-color: #EEE3CB")
        self.show()

if __name__ == '__main__':
    app = QApplication([])
    label = Label()
    app.exec()
386bb1b914f5ba4627e91cc83d395efb.png

上述中使用了setStyleSheet设置样式,后续也会讲到,这里暂做了了解,知道background-color是用来设置背景颜色的。

设置文本格式

官方其实弄了很多的格式,这里就不搞什么虚的了,介绍一下不常用中的常用的。

from PySide6.QtWidgets import QApplication, QWidget, QLabel


class Label(QWidget):
    def __init__(self):
        super(Label, self).__init__()
        self.UI()
        self.setWindowTitle("QLabel")
        self.setGeometry(200, 200, 500, 300)

    def UI(self):
        label_ = QLabel(self)
        label_.setText("<html><body>我的博客 <a href='https://blog.csdn.net/weixin_52040868'>CSDN-清安无别事</a><b>公众号 </b> <i>测个der</i></body></html>")
        label_.setGeometry(100, 100, 160, 70)
        label_.setWordWrap(True)        # 设置自动换行
        self.show()

if __name__ == '__main__':
    app = QApplication([])
    label = Label()
    app.exec()
deebd6de408baafef92abf80eb0cb517.png

图标

from PySide6.QtGui import QPixmap
from PySide6.QtWidgets import QApplication, QWidget, QLabel

class Label(QWidget):
    def __init__(self):
        super(Label, self).__init__()
        self.UI()
        self.setWindowTitle("QLabel")
        self.setGeometry(200, 200, 500, 300)

    def UI(self):
        label_ = QLabel(self)
        pix = QPixmap('close.png')
        pix_size = pix.scaled(30, 30)     # 设置图标大小
        label_.setPixmap(pix_size)  # 显示的图像
        label_.setGeometry(100, 100, 30, 30)

        self.show()

if __name__ == '__main__':
    app = QApplication([])
    label = Label()
    app.exec()

在后续的开发过程中,也可以使用QLbel来作为一个衬托图,使用QSS来设置QLabel的背景图,进而制作UI,也不会将QLabel局限于用来左一个文本标签。

c25b31360320dc26d30e63f412579964.png

如上图所示,红色区域就是一个QLbel标签,使用了setStyleSheet的border-image或者background-image来设置背景图。

快捷键与信号槽

它本身是没有内置的信号与槽的。但是可以与其他小部件或信号进行交互

链接点击事件(linkActivated):当用户点击QLabel上的链接时触发该信号。

链接悬停事件(linkHovered):当鼠标悬停在QLabel上的链接上时触发该信号。
from PySide6.QtGui import QShortcut, QKeySequence
from PySide6.QtWidgets import QApplication, QWidget, QLabel

class Label(QWidget):
    def __init__(self):
        super(Label, self).__init__()
        self.UI()
        self.setWindowTitle("QLabel")
        self.setGeometry(200, 200, 500, 300)

    def UI(self):
        label_ = QLabel(self)
        label_.setText("<a href='https://gitee.com/qinganan_admin/Pyside6_Information'>我的Pyside6代码笔记</a>")
        shortcut  = QShortcut(QKeySequence("Ctrl+o"), label_)          # z设置CTRL+o为快捷键
        label_.setGeometry(100, 100, 200, 30)

        label_.linkHovered.connect(self.labelTest1)     # 当鼠标悬停在QLabel上的链接上时触发该信号。
        label_.linkActivated.connect(self.labelTest2)     # 当用户点击QLabel上的链接时触发该信号。
        shortcut.activated.connect(self.labelTest3)     # 设置快捷键的信号与槽

        self.label_1 = QLabel(self)
        self.label_1.setGeometry(140, 140, 200, 30)

        self.show()

    def labelTest1(self, txt):
        self.label_1.setText(txt)

    def labelTest2(self):
        self.label_1.setStyleSheet("background-color: #EEE3CB")

    def labelTest3(self):
        self.label_1.setStyleSheet("background-color: #9BABB8")

if __name__ == '__main__':
    app = QApplication([])
    label = Label()
    app.exec()

如果你需要上述图片中的登录界面源码,那么就去:

https://gitee.com/qinganan_admin/pyqt5-case-study/tree/master/%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2

最后,本章的代码在:

https://gitee.com/qinganan_admin/Pyside6_Information/tree/master/%E7%AC%AC%E5%9B%9B%E7%AB%A0%EF%BC%8CQLabel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644841.html

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

相关文章

T9481 T8300 T8110C罗克韦尔自动化可信通信接口

​ T9481 T8300 T8110C罗克韦尔自动化可信通信接口 T9481 T8300 T8110C罗克韦尔自动化可信通信接口 DCS有哪些通讯方式&#xff1f;各有什么缺点&#xff1f; dcs作为大型控制系统&#xff0c;它采用的通信方式无非就是数字通信和模拟通信。数字通信它在DCS使用就是在监视层和…

PCB封装设计实践和文件模板

在之前的文章 详解AD(Altium Designer 23)中的机械层 - 1、详解AD(Altium Designer 23)中的机械层 - 2 中&#xff0c;我们详细介绍了AD中机械层的相关设置&#xff0c;今天结合PCB封装的设计&#xff0c;给出一些实践建议&#xff0c;并分享一个文件模板。 PCB封装设计 PCB&…

SpringBoot 集成 canal

什么是 Canal 阿里巴巴 B2B 公司&#xff0c;因为业务的特性&#xff0c;卖家主要集中在国内&#xff0c;买家主要集中在国外&#xff0c;所以衍生出了同步杭州和美国异地机房的需求&#xff0c;从 2010 年开始&#xff0c;阿里系公司开始逐步的尝试基于数据库的日志解析&#…

Linux常用指令和知识

ls 显示工作目录底下的所有文件/文件夹 使用命令ls, 会直接显示HOME目录下的所有文件 如果不加任何参数,那么ls指定的目录是初始的HOME目录(因为初始的工作目录为HOME目录): 使用ls / 会显示根目录底下的所有文件 如何查看根目录: 三个参数: -a -h -l -a 选项表示all的意思,列…

Python 基于招聘数据可视化系统

1 简介 Python 基于招聘数据可视化系统&#xff0c;视频效果如下&#xff1a; 基于Python的招聘信息可视化系统&#xff0c;附源码 随着国内的经济不断的快速发展&#xff0c;现在学生的就业压力也在逐年增加&#xff0c;网络上的招聘信息非常的丰富&#xff0c;但是对于学生而…

百城巡展 | 人大金仓6月阔步新征程全力开新局

6月上旬&#xff0c;人大金仓“百城巡展”走过天津、杭州、成都&#xff0c;吸引线上线下逾6660人参与&#xff0c;并有14家新成员单位加入金兰生态组织&#xff0c;共同支撑用户更多关键性应用需求&#xff0c;为人大金仓开拓新市场、赋能新行业、构建新生态迈出坚实的一步。 …

驾驶舱数据指标体系设计

大数据时代下&#xff0c;各行各业面对众多的顾客和复杂多变的市场需求&#xff0c;要想及时适应市场变化&#xff0c;掌握市场动态&#xff0c;就需要对各个环节的数据进行分析&#xff0c;得到科学有效的结论来指导决策&#xff0c;这就离不开领导驾驶舱。 — 01 — 什么是…

Vue中如何进行数据可视化图表展示

Vue中如何进行数据可视化图表展示 数据可视化是现代化的数据分析和展示方式&#xff0c;可以使数据更加直观、易于理解和传达。Vue作为一款流行的前端框架&#xff0c;提供了丰富的插件和工具来实现数据可视化图表展示&#xff0c;其中最常用的是Echarts和D3.js。 本文将介绍…

Mind2Web: 首个全面衡量大模型上网能力的数据集

夕小瑶科技说 原创 作者 | 智商掉了一地、ZenMoore 在互联网的浩瀚世界中&#xff0c;存在着无数复杂而扑朔迷离的任务等待我们去解决。如果要设计一个解决很多问题的通用智能体&#xff08;AI agent&#xff09;&#xff0c;无论是关于购物、旅行、学习还是娱乐&#xff0c;…

张驰咨询:如何评估六西格玛咨询公司的专业水平和实际效果?

六西格玛是一个能够帮助企业改进业务流程&#xff0c;提高质量和效率的方法论和工具&#xff0c;也是一种经营管理思想。在选择六西格玛咨询公司时&#xff0c;就需要考虑以下几个方面。 1、咨询公司的信誉和口碑 首先要查明咨询公司的资质和信誉。可以从市场上那些知名度比较…

微信小程序反编译报SyntaxError: Unexpected token ‘}‘ 不完美的解决方法

文章目录 1.反编译报错2.分析已反编译出来的文件3.错误原因4.没有完美解决的方法5.小笔记6.相关链接 1.反编译报错 最近在搞小程序&#xff0c;参考Csdn博客的微信小程序反编译Blog&#xff0c;一步一步操作&#xff0c;获取到了.wxapkg&#xff0c;在wxappUnpacker目录下执行…

Vue中如何进行分布式错误日志收集与监控

Vue中如何进行分布式错误日志收集与监控 随着前端界面的复杂化&#xff0c;前端错误日志的收集和监控也成为了一个重要的问题。在分布式应用中&#xff0c;需要跨多个前端应用和后端服务收集和监控错误日志。本文将介绍如何在 Vue 中使用 Sentry 进行分布式错误日志收集和监控…

应急响应:系统入侵排查指南

目录 系统基本信息排查 Windows系统排查 Linux系统排查 CPU信息 操作系统信息 载入模块排查 用户排查 Windows系统用户排查 排查所有账户 Linux用户排查 root账户排查 查看所有可登录账户 查看用户错误的登录信息 查看所有用户最后登录信息 排查空口令账户 启…

从开发到部署:一站式指南创建个性化 Slack App 问答机器人

从开发到部署&#xff1a;一站式指南创建个性化 Slack App 问答机器人 01 简介 做这个教程是因为看别人拿免费的割韭菜很不爽&#xff0c;所以准备做个教程来教大家如何搭建一个问答机器人 内核其实就是利用了slack提供的官方api&#xff0c;自己创建app然后获取艾特信息&#…

Python3数据分析与挖掘建模(15)特征选择与特征变换

1 特征选择 1. 1 概述 特征选择是一种剔除与标注不相关或冗余的特征的方法&#xff0c;以减少特征集的维度和复杂性&#xff0c;并提高模型的性能和解释能力。特征选择的目标是选择那些对目标变量有预测能力且与其他特征不冗余的特征。 特征选择的方法可以分为三类&#xff…

【国产虚拟仪器】基于ARM+FPGA+8通道高速AD代替美国国家仪器的电能质量分析仪设计(一)NI方案介绍

一、背景&#xff1a;基于美国国家仪器的采集方案介绍 本文设计的电能质量分析仪数据分析系统以NI公司的National Instruments LabVIEW2018作为软件开发平台&#xff0c;结合硬件平台&#xff0c;实现数据的采集、波形显示和数据 分析。硬件电路的主要作用是对电网信号进行降幅…

聚焦产品研发,极米科技创新能力领跑行业

近年来&#xff0c;在消费升级、线上渠道迅速放量的背景下&#xff0c;家用智能投影已成为中国投影仪的第一大细分市场。有数据显示&#xff0c;2017年以来&#xff0c;中国消费级投影机出货量持续提升。根据第三方机构IDC&#xff08;国际数据公司&#xff09;统计&#xff0c…

Matter实战系列-----3.Matter Light和Switch配网和控制实验

专有名词&#xff1a; OT-RCP&#xff1a; Open Thread Radio Co-Processor 。 Thread 无线协处理器 OTBR&#xff1a; Open Thread Board Router 。 Thread 边界路由器 chip-tool&#xff1a; Linux 应用程序。用于 Matter 协议控制 ot-ctl&#xff1a; Thread 网络控…

爬虫一定要用代理ip吗?

使用代理IP可以帮助爬虫隐藏真实IP地址&#xff0c;防止被网站封禁或限制访问。此外&#xff0c;使用代理IP还可以帮助爬虫绕过一些地区或国家的访问限制&#xff0c;获取更多的数据。因此&#xff0c;对于一些需要频繁爬取数据的爬虫&#xff0c;使用代理IP是一个不错的选择。…

2023如何选择适合自己的浪涌保护器

浪涌保护器对许多人来说并不熟悉&#xff0c;但是如果您担心您拥有的电子设备和家用电器的安全性并保护它们免受电涌的影响&#xff0c;那么您必须了解电涌保护器以及它们的工作原理。 在没有电涌保护器的情况下直接使用昂贵的电子家用电器是危险的&#xff0c;即使发生电涌的…