【PyQt】09-控件提示信息、Lable标签

文章目录

  • 前言
  • 一、控件提示信息
    • 1.1 代码
    • 1.2 解释 < b >在HTML标签中的作用
    • 1.3 添加按键后的代码
      • 运行结果
  • 二、QLabel控件介绍
    • 2.1 内容
    • 2.2 常用的事件
    • 2.3 代码
      • 结果展示
  • 总结


前言

1、控件提示信息
2、QLabel控件介绍


一、控件提示信息

关键点在于
在这里插入图片描述

效果如图所示,鼠标悬停会展示提示信息
在这里插入图片描述

1.1 代码

'''
#Author :susocool
#Creattime:2024/2/8
#FileName:017-提示信息
#Description: '''
import sys
from PyQt5.QtWidgets import QHBoxLayout,QWidget,QMainWindow,QApplication,QToolTip
from PyQt5.QtGui import QFontclass TooltipForm(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):QToolTip.setFont(QFont('SansSerif',12))self.setToolTip('今天是<b>星期五</b>')self.setGeometry(300,300,200,300)self.setWindowTitle('控件提示消息')if __name__ == '__main__':app = QApplication(sys.argv)main = TooltipForm()main.show()sys.exit(app.exec_())

1.2 解释 < b >在HTML标签中的作用

在 PyQt5 中,控件的 setToolTip() 方法支持使用 HTML 标签来设置提示消息的样式。
使用
标签将文本包裹起来,将会使该文本显示为粗体字。所以 self.setToolTip('今天是星期五')
的效果是将提示消息设置为 “今天是星期五”,并且 “星期五” 这部分文本会以粗体字显示。
扩展一下在这里插入图片描述

1.3 添加按键后的代码

import sys
from PyQt5.QtWidgets import QHBoxLayout, QWidget, QMainWindow, QApplication, QToolTip, QPushButton
from PyQt5.QtGui import QFontclass TooltipForm(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):QToolTip.setFont(QFont('SansSerif', 12))self.setToolTip('今天是<b>星期五</b>')self.setGeometry(300, 300, 200, 300)self.setWindowTitle('控件提示消息')self.button = QPushButton("按钮")self.button.setToolTip('这是一个<b>按钮</b>')layout = QHBoxLayout()layout.addWidget(self.button)mainFrame = QWidget()mainFrame.setLayout(layout) #将水平布局设置为窗口的布局管理器,这样按钮就被添加到了窗口中self.setCentralWidget(mainFrame) # 将窗口设置为应用程序主窗口的中央部件。 if __name__ == '__main__':app = QApplication(sys.argv)main = TooltipForm()main.show()sys.exit(app.exec_())

运行结果

在这里插入图片描述

在这里插入图片描述

二、QLabel控件介绍

2.1 内容

  • setAlignment() :设置文本的对齐方式
  • setIndent() : 设置文本的缩进
  • text () : 获取文本内容
  • setBuddy() :设置伙伴关系
  • setText() :设置文本的内容
  • selectedText() : 返回所选择的字符
  • setWordWrap() :设置是否允许换行

2.2 常用的事件

1、当鼠标滑过Qlabel控件时触发:linkHovered
2、当鼠标单击Qlabel控件时触发:linkActivated

2.3 代码

'''
#Author :susocool
#Creattime:2024/2/8
#FileName:018-QLabel
#Description: 四个Label展示
'''import sys
from PyQt5.QtWidgets import QVBoxLayout,QMainWindow,QApplication,QLabel,QWidget
from PyQt5.QtCore import Qt
# 调色板,设置背景色
from PyQt5.QtGui import QPalette,QPixmapclass QLabelDemo(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label1 = QLabel(self)label2 = QLabel(self)label3 = QLabel(self)label4 = QLabel(self)label1.setText("<font color = yellow>这是一个文本标签</font> ")label1.setAutoFillBackground(True)  # 设置自动填充背景patette = QPalette()patette.setColor(QPalette.Window,Qt.blue)   # 设置背景色label1.setPalette(patette)# 居中对齐label1.setAlignment(Qt.AlignCenter)label2.setText("<a href = '#' >划过我触发惊喜 </a>")label3.setAlignment(Qt.AlignCenter)label3.setToolTip('这是一个图片标签')label3.setPixmap(QPixmap('./管理困难.png'))# 设置允许打开外部链接True# 响应槽函数         Falselabel4.setOpenExternalLinks(True)label4.setText("<a href = 'https://www.bilibili.com/'> B站入口</a>")label4.setAlignment(Qt.AlignRight)label4.setToolTip('这是一个超级链接')vbox = QVBoxLayout()vbox.addWidget(label1)vbox.addWidget(label2)vbox.addWidget(label3)vbox.addWidget(label4)label2.linkHovered.connect(self.linkHovered)label4.linkActivated.connect(self.linkClicked)self.setLayout(vbox)self.setWindowTitle('QLabel控件展示')def linkHovered(self):print('当鼠标划过label2时候触发')def linkClicked(self):print('当鼠标单击label4时候触发')if __name__ == '__main__':app = QApplication(sys.argv)main = QLabelDemo()main.show()sys.exit(app.exec_())

结果展示

在这里插入图片描述
在这里插入图片描述


总结

这篇文章依旧没有总结

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大厂AI课学习笔记】1.5 AI技术领域(6)目标检测

目标检测是CV中的重要场景。 在图像中定位感兴趣的目标&#xff0c;准确判断每个目标的类别&#xff0c;并给出每个目标的边界框。 上图是目标检测的典型应用案例。 目标检测的难点是小目标的高精度检测。 目前主要的应用领域是机器人导航、自动驾驶、智能视频监督、工业检测…

springboot172基于springboot的二手车交易系统的设计与实现

二手车交易系统的设计与实现 摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统二手车交易信息管理难度大&…

实例分割论文阅读之:FCN:《Fully Convolutional Networks for Semantica Segmentation》

论文地址:https://openaccess.thecvf.com/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf 代码链接&#xff1a;https://github.com/pytorch/vision 摘要 卷积网络是强大的视觉模型&#xff0c;可以产生特征层次结构。我们证明&#xff0c…

SegmentAnything官网demo使用vue+python实现

一、效果&准备工作 1.效果 没啥好说的&#xff0c;低质量复刻SAM官网 https://segment-anything.com/ 需要提一点&#xff1a;所有生成embedding和mask的操作都是python后端做的&#xff0c;计算mask不是onnxruntime-web实现的&#xff0c;前端只负责了把rle编码的mask解…

【Java】eclipse连接MySQL数据库使用笔记(自用)

注意事项 相关教程&#xff1a;java连接MySQL数据库_哔哩哔哩_bilibilijava连接MySQL数据库, 视频播放量 104662、弹幕量 115、点赞数 1259、投硬币枚数 515、收藏人数 2012、转发人数 886, 视频作者 景苒酱, 作者简介 有时任由其飞翔&#xff0c;有时禁锢其翅膀。粉丝群1&…

【JavaWeb】头条新闻项目实现 基本增删改查 分页查询 登录注册校验 业务功能实现 第二期

文章目录 一、为什么使用token口令二、登录注册功能2.1 登录表单提交后端代码&#xff1a; 2.2 根据token获取完整用户信息代码实现&#xff1a; 2.3 注册时用户名占用校验代码实现&#xff1a; 2.4 注册表单提交代码实现&#xff1a; 三、头条首页功能3.1 查询所有头条分类3.2…

【网络】:序列化和反序列化

序列化和反序列化 一.json库 二.简单使用json库 前面已经讲过TCP和UDP&#xff0c;也写过代码能够进行双方的通信了&#xff0c;那么有没有可能这种通信是不安全的呢&#xff1f;如果直接通信&#xff0c;可能会被底层捕捉&#xff1b;可能由于网络问题&#xff0c;一方只接收到…

Maven私服部署与JAR文件本地安装

Nexus3 是一个仓库管理器&#xff0c;它极大地简化了本地内部仓库的维护和外部仓库的访问。 平常我们在获取 maven 仓库资源的时候&#xff0c;都是从 maven 的官方&#xff08;或者国内的镜像&#xff09;获取。团队的多人员同样的依赖都要从远程获取一遍&#xff0c;从网络方…

深入理解Netty及核心组件使用—上

目录 Netty的优势 为什么Netty使用NIO而不是AIO&#xff1f; Netty基本组件 Bootstrap、EventLoop(Group) 、Channel 事件和 ChannelHandler、ChannelPipeline ChannelFuture Netty入门程序 服务端代码 客户端代码 运行结果 Netty的优势 1. API 使用简单&#xff0c…

力扣hot100 -- 双指针

目录 &#x1f382;移动零 &#x1f319;盛最多水的容器 &#x1f33c;三数之和 &#x1f33c;接雨水 前缀和 辅助数组 双指针 单调栈 &#x1f382;移动零 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 关于swap #include <iostream> #include <vec…

Redis篇之持久化

一、为什么要进行持久化 Redis是一个基于内存的键值存储系统&#xff0c;但为了保证数据在服务器重启、故障等情况下不丢失。 二、应该怎么持久化 1.RDB持久化 &#xff08;1&#xff09;RDB是什么 RDB全称Redis Database Backup file&#xff08;Redis数据备份文件&#xff…

打印斐波那契数列

定义&#xff1a; 斐波那契数列是指这样一个数列&#xff1a;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13&#xff0c;21&#xff0c;34&#xff0c;55&#xff0c;89……这个数列从第3项开始 &#xff0c;每一项都等于前两项之和。 …