标签

QLabel用于显示文本或图像。没有提供用户交互功能。标签的视觉外观可以通过各种方式进行配置,并且可以用于为另一个窗口小部件指定焦点助记键。

一个QLabel可以包含以下任意内容类型:

内容 设置
纯文本 将普通字符串传递给setText()
富文本 将包含富文本的字符传递给setText()
像素图 QPixmap传递给setPixmap()
电影 QMovie传递给setMovie()
号码 intdouble传递给setNum(),它将数字转换为纯文本
与空的纯文本相同,这是默认值,由clear()设置

创建普通文本

# _*_coding:utf-8 _*_

import sys
from PyQt5.QtWidgets import * class Win(QMainWindow):
def __init__(self):
super().__init__()
self.initUi() def initUi(self):
widget = QWidget(self)
self.setCentralWidget(widget) word = """
1. 前面的空白就是我设置的缩进: setWordWrap();
2. 这是一段普通的文本: setText();
3. 我还加了形状: setFrameStyle();
4. 不仅如此,在窗口缩小到一定程度时,我还能自动换行喔: setIdent()
5. 我已经连接到我的按钮伙伴,使用快捷键Alt+D模拟点击: setLayout()
""" self.label = QLabel(word, self)
self.label.setFrameStyle(QFrame.Panel | QFrame.Sunken)
self.label.setIndent(50)
self.label.setWordWrap(True) self.pushButton = QPushButton("我是按钮 (&D)", self)
self.label.setBuddy(self.pushButton) self.layout = QVBoxLayout(self)
self.layout.addWidget(self.label)
self.layout.addWidget(self.pushButton)
widget.setLayout(self.layout) if __name__ == '__main__':
app = QApplication(sys.argv)
win = Win()
win.show()
sys.exit(app.exec_())

创建其他文本

# _*_coding:utf-8 _*_

from PyQt5.QtWidgets import *
import sys class Win(QMainWindow):
def __init__(self):
super().__init__()
self.initUi() def initUi(self):
widget = QWidget(self)
self.setCentralWidget(widget) word = """
1. 前面的空白就是我设置的缩进: <b style="color:red">setWordWrap()</b>;<br>
2. 这是一段普通的文本: <b style="color:red">setText()</b>;<br>
3. 我还加了形状: <b style="color:red">setFrameStyle()</b>;<br>
4. 不仅如此,在窗口缩小到一定程度时,我还能自动换行喔: <b style="color:red">setIdent()</b>;<br>
5. 我已经连接到我的按钮伙伴,使用快捷键Alt+D模拟点击: <b style="color:red">setLayout()</b>;<br>
""" self.label = QLabel(word, self)
self.label.setFrameStyle(QFrame.Panel | QFrame.Sunken)
self.label.setIndent(50)
self.label.setWordWrap(True) self.pushButton = QPushButton("我是按钮 (&D)", self)
self.label.setBuddy(self.pushButton) self.layout = QVBoxLayout(self)
self.layout.addWidget(self.label)
self.layout.addWidget(self.pushButton)
widget.setLayout(self.layout) if __name__ == '__main__':
app = QApplication(sys.argv)
win = Win()
win.show()
sys.exit(app.exec_())

代码一毛一样,就是文本变了

创建图片标签

# _*_coding:utf-8 _*_

from PyQt5.QtWidgets import *
import sys class Win(QMainWindow):
def __init__(self):
super().__init__()
self.initUi() def initUi(self):
widget = QWidget(self)
self.setCentralWidget(widget) self.label = QLabel(self)
self.label.setPixmap(QPixmap("D:\\image\python.png")) # 添加图片
self.label.setScaledContents(True) self.layout = QVBoxLayout(self)
self.layout.addWidget(self.label)
widget.setLayout(self.layout) if __name__ == '__main__':
app = QApplication(sys.argv)
win = Win()
win.show()
sys.exit(app.exec_())

创建动画标签

# _*_coding:utf-8 _*_

from PyQt5.QtWidgets import *
import sys class Win(QMainWindow):
def __init__(self):
super().__init__()
self.initUi() def initUi(self):
self.resize(700, 500)
widget = QWidget(self)
self.setCentralWidget(widget) self.label = QLabel(self) # 创建一个空标签
self.movie = QMovie("C:\\Users\\oliven\\Desktop\\jumpstar.gif") # 动画路径
self.label.setMovie(self.movie) # 添加到label里
self.label.setScaledContents(True) # 缩放其内容以填充所有可用空间
self.label.setFrameStyle(QFrame.Panel | QFrame.Sunken) # 设置形状
self.label.setIndent(50) # 设置缩进
self.label.setWordWrap(True) # 设置自动换行 self.pushButton = QPushButton("开始动画 (&D)", self) # 创建按钮
self.label.setBuddy(self.pushButton) # 为label加一个伙伴
self.pushButton.clicked.connect(self.run) # 将按钮点击信号连接到槽 self.layout = QVBoxLayout(self) # 垂直布局
self.layout.addWidget(self.label) #将控件添加到布局
self.layout.addWidget(self.pushButton)
widget.setLayout(self.layout) # 设置控件布局 def run(self):
self.movie.start() if __name__ == '__main__':
app = QApplication(sys.argv)
win = Win()
win.show()
sys.exit(app.exec_())

标签常用方法

  • QLabel().setAlignment():设置标签对齐方式

    • 例如:QLabel().setAlignment(Qt.AlignBottom)

    • 可用的参数:

      • Qt.AlignLeft:与左边缘对齐
      • Qt.ALignRight:与右边缘对齐
      • Qt.AlignHCenter:在可用空间中水平居中
      • Qt.AlignJustify:在可用空间中对齐文本
      • Qt.AlignTop:与顶部对齐
      • Qt.AlignBottom:与底部对齐
      • Qt.AlignVcenter:在可用控件中垂直居中
      • Qt.AlignBaseline:与基线对齐
      • Qt.AlignCenter:在两个维度上均居中
  • QLabel().setIndent():按当前对齐方式进行设置缩进

    • 例如:QLabel().setIndent(10),表示缩进10个
  • QLabel().setMargin():设置边距的宽度

    • 例如:QLabel().setMargin(10)
  • QLabel().setOpenExternalLinks():是否为超链接开启自动打开链接,而不是发出linkAction()信号

    • 例如:QLabel().setOpenExternalLinks(True)
  • QLabel().setPixmap():为标签设置一个图片

    • 例如:QLabel().setPixmap(QPixmap("C:\\image\1.png"))
  • QLabel().setScaledContents():是否将缩放其内容以填充所有可用空间;启用后,标签会显示一个像素图,它将缩放该像素图以填充可用空间。

    • 例如:QLabel().setScaledContents(True)
  • QLabel().setText():为标签设置一个文本

    • 例如:QLabel().setText("Hello World")
  • QLabel().setTextInteractionFlags():指定标签显示的文本如何与用户输入交互

    • 例如:QLabel().setTextInteractionFlags(Qt.TextSelectableByMouse):表示鼠标可以选中该标签的文字
    • 可用参数如下:
      • Qt.NoTextInteraction:无法与文字交互
      • Qt.TextSelectableByMouse:可以使用鼠标选择文本,然后使用上下文菜单或标准键盘快捷键将其复制到剪贴板。
      • Qt.TextSelectableByKeyboard:可以使用键盘上的光标键选择文本。显示一个文本光标。
      • Qt.LinksAccessibleByMouse:链接可以用鼠标突出显示并激活
      • Qt.LinksAccessibleByKeyboard:可以使用Tab键突出显示连接,并使Enter激活它。
      • Qt.TextEditorInteraction:文本编辑器的默认值:
        • TextSelectableByMouse
        • TextSelectableByKeyboard
        • TextEditable
      • Qt.TextBrowserInteractionQTextBrowser的默认值。
  • QLabel().setWordWrap():自动换行

    • 例如:QLabel().setWordWrpap(True)
  • QLabel().clear():清除所有标签内容

  • QLabel().linkActivated():单击链接时会发出此信号

    • 例如:QLabel().linkActivated.connect(self.func)self.func是自己创建的函数
  • QLabel().linkHovered():鼠标滑过链接时发出此信号

    • 例如:QLabel().linkHovered.connect(self.func)
  • QLabel().setMovie():为标签添加一个视频(这里添加一个GIF动图)

    • 例如:QLabel().setMoive(QMovie("C:\\image\\funny.gif"))
  • QLabel().setPicture():添加一个Picture

  • QLabel().setSelection():选择开始到结束的文本

    • 例如:QLabel().setSelection(1, 10)

PyQt5笔记之标签的更多相关文章

  1. odoo开发笔记 -- div标签代替odoo button写法

    odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...

  2. PyQt5 笔记(02):嵌套布局

    如前一篇笔记,我们还是只讨论两层嵌套布局的情况. 前面的布局有一个缺点:有三个内层布局,则需要三个空部件.那若有十个内层布局呢?显然会让人不舒服. 刚才在玩 Qt Designer 时,发现了一个更好 ...

  3. HTML学习笔记之标签基础

    目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...

  4. PyQt5笔记之布局管理

    代码:界面与逻辑分离 这是使用Designer做出的GUI,然后通过转换得到的Py代码.(界面文件) # -*- coding: utf-8 -*- # Form implementation gen ...

  5. PyQt5笔记

    PyQt5 窗口类继承QMainWindow. 1.消息盒子QMessageBox 弹出一个窗口,根据选择的不同执行不同的操作.比如点击关闭后,实用消息盒子确认是否关闭. # 关闭QWidget将产生 ...

  6. [Java] JSP笔记 - 自定义标签

    自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...

  7. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  8. pyqt5 笔记(三)py2exe 实现代码打包exe

    python3.4 安装64位的版本 py2exe 下载地址: https://pypi.python.org/pypi/py2exe/0.9.2.0#downloads cmd——>进入pyf ...

  9. pyqt5 笔记(二)实现http请求发送

    上个图~ index.py 文件 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets,QtCore #从pyqt库导入QtWindget通用窗口类 ...

随机推荐

  1. C# 改变控制台背景颜色

    之前查找静态构造函数相关的问题无意间碰到的一个问题.改变控制台的背景颜色. static void Main(string[] args) { //设置绿色 Console.BackgroundCol ...

  2. Mvc 入门及基础了解

    用于表示一种软件架构模式.它把软件系统分为三个基本部分 _模型(Model), _视图(View) _和控制器(Controller). 其中主要代码是 路由 配置默认的路径: 默认配置 是 Home ...

  3. preventDefault, stopPropagation, return false -JS事件处理中的坑

    我们以一个文件上传ui重设计为例子来探讨这几个函数的区别: 其中的html代码如下: <div class="file-upload"> <input type= ...

  4. JPA技术之EntityManager使用方法

    Session bean or MD bean对Entity bean的操作(包括所有的query, insert, update, delete操作)都是通过EntityManager实例来完成的. ...

  5. python关于 微型微服务框架bottle实践

    代码实践 资源接口类MyWeb.py,定义了资源接口,代码时python2的代码,和3语法略有不同! # coding: utf-8 import json import logging import ...

  6. 剑指offer 8:旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转 ...

  7. Native层和so接口和Java层

    一.Java层加载so文件 Android在Java层加载so的接口是System.loadLibrary()逐级调用的过程: System.loadLibrary()系统源码: 987    pub ...

  8. leetcode之求众数

    求众数 给定一个大小为 n 的数组,找到其中的众数. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2 ...

  9. 配置全文搜索引擎solr

    前言 solr是apache下的一个子项目,用java编写基于Lucene开发的全文搜索服务器,不同于Lucene,solr一个完成的搜索服务器,提供了众多接口调用,而Lucene只是个工具包.如果用 ...

  10. centos6.8下hadoop3.1.1完全分布式安装指南

    前述:这篇文档是建立在三台虚拟机相互ping通,防火墙关闭,hosts文件修改,SSH 免密码登录,主机名修改等的基础上开始的. 一.传入文件 1.创建安装目录 mkdir /usr/local/so ...