PyQt5笔记之标签
标签
QLabel
用于显示文本或图像。没有提供用户交互功能。标签的视觉外观可以通过各种方式进行配置,并且可以用于为另一个窗口小部件指定焦点助记键。
一个QLabel
可以包含以下任意内容类型:
内容 | 设置 |
---|---|
纯文本 | 将普通字符串传递给setText() |
富文本 | 将包含富文本的字符传递给setText() |
像素图 | 将QPixmap 传递给setPixmap() |
电影 | 将QMovie 传递给setMovie() |
号码 | 将int 或double 传递给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.TextBrowserInteraction
:QTextBrowser
的默认值。
- 例如:
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()
:添加一个PictureQLabel().setSelection()
:选择开始到结束的文本- 例如:
QLabel().setSelection(1, 10)
- 例如:
PyQt5笔记之标签的更多相关文章
- odoo开发笔记 -- div标签代替odoo button写法
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...
- PyQt5 笔记(02):嵌套布局
如前一篇笔记,我们还是只讨论两层嵌套布局的情况. 前面的布局有一个缺点:有三个内层布局,则需要三个空部件.那若有十个内层布局呢?显然会让人不舒服. 刚才在玩 Qt Designer 时,发现了一个更好 ...
- HTML学习笔记之标签基础
目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...
- PyQt5笔记之布局管理
代码:界面与逻辑分离 这是使用Designer做出的GUI,然后通过转换得到的Py代码.(界面文件) # -*- coding: utf-8 -*- # Form implementation gen ...
- PyQt5笔记
PyQt5 窗口类继承QMainWindow. 1.消息盒子QMessageBox 弹出一个窗口,根据选择的不同执行不同的操作.比如点击关闭后,实用消息盒子确认是否关闭. # 关闭QWidget将产生 ...
- [Java] JSP笔记 - 自定义标签
自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- pyqt5 笔记(三)py2exe 实现代码打包exe
python3.4 安装64位的版本 py2exe 下载地址: https://pypi.python.org/pypi/py2exe/0.9.2.0#downloads cmd——>进入pyf ...
- pyqt5 笔记(二)实现http请求发送
上个图~ index.py 文件 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets,QtCore #从pyqt库导入QtWindget通用窗口类 ...
随机推荐
- 在Linux系统中运行并简单的测试RabbitMq容器
以前使用的是Windows下面的RabbitMq,需要先安装 Erlang的语言环境等,这次直接在Linux中的Docker容器来测试一下 1:docker配置RabbitMq的指令 docker r ...
- C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示
序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...
- css3伪类和伪元素你都懂了吗
什么是伪类? 伪类用于定义元素的特殊状态. 例如,它可用于: 当用户将鼠标悬停在元素上时为其设置样式 访问和未访问的链接不同样式 在获得焦点时设置元素的样式 伪类的语法 后代选择器匹配作为指定元素后代 ...
- electron——ipcMain模块、ipcRenderer模块
ipcMain 从 主进程 到 渲染进程 的异步通信. ipcMain模块是EventEmitter类的一个实例. 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息. 从渲染器进 ...
- Java foreach循环
foreach循环:增强性的for循环应用: 在for语句中,需要使用索引来进行操作具体的数组或集合内容操作:而foreach可以取消索引的操作细节: for ( 类型 变量 : 数组 | 集合 ) ...
- 达能依靠Matrikon进行数据存储和分析
达能是一家致力于通过食品实现健康的公司,业务遍及五大洲130多个国家.在罗马尼亚,达能每天在布加勒斯特的工厂生产100万瓶酸奶.由于质量和产品安全在达能最为重要,因此监控和分析工业过程需要非常高效才能 ...
- ANDROID培训准备资料之四大组件的简单介绍
Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...
- 队列解密QQ号
队列解密QQ号 本篇博客主要是<啊哈!算法>的读书笔记,这里做一下记录. 问题场景: 给定一串 QQ 号,631758924,从其中解密出真实的 QQ 号. 解密规则:首先将第一个数删除, ...
- C# 在不同编译下的不同表现
这是我在2018年的时候发在Unity Forums上的帖子, 至今无人回复, 之前是想用TypedReference做DataTable的相关功能的, 可是结果不正确. tiancaiwrk, Oc ...
- 微信公众号token验证失败
我用的是python3+,而官网给的例子是python2的写法.问题就在python版本不同. 下面是截取官方的实例代码的一部分 list = [token, timestamp, nonce] li ...