实战PyQt5: 006-标签控件QLabel

实战PyQt5: 006-标签控件QLabel通过前面的准备工作 我们已经学会怎么用 PyQt 创建一个 GUI 应用 打开了一个空白窗口 画布已经准备好 从现在开始 我们一步一步往其中添加部件 让我们的窗口内容分丰富起来 互动起来

大家好,欢迎来到IT知识分享网。

实战PyQt5: 006-标签控件QLabel

标签控件QLabel简介

通过前面的准备工作,我们已经学会怎么用PyQt创建一个GUI应用,打开了一个空白窗口,画布已经准备好,从现在开始,我们一步一步往其中添加部件,让我们的窗口内容分丰富起来,互动起来。

QLabel小部件的基本功能是在界面上显示文本和图像,一般情况下,图像和文本都是静态的(不可以在其上交互编辑)。其在GUI中的功能作用与MFC中的CStatic, WxPython(或WxWidgets)中的wxStaticText类似。

QLabel的常用方法有:

  • setText(); 设置文本(注:这是最基本,最常用的功能)
  • text(); 得到QLabel文本设置的内容
  • selectedText();返回所选择的字符串
  • setAlignment();按规定的方式对齐文本(对齐方式见Qt.Alignment)
  • setIndent(); 设置文本缩进量
  • setPixmap(); 设置图像
  • setMovie(); 设置动画
  • setNum(); 将整数或者浮点数(小数)转换成文本显示出来
  • clear(); 清空设置的内容
  • setWordWrap(); 设置是否允许换行
  • setBuddy(); 设置QLabel的buddy(伙伴)

枚举量Qt.Aligenment取值及其含义

  • Qt.AlignLeft; 水平方向靠左对齐
  • Qt.AlignRight; 水平方向靠右对齐
  • Qt.AlignCenter; 水平方向居中对齐
  • Qt.AlignJustify; 水平方向调整间距两端对齐
  • Qt.AlignTop; 垂直方向靠上对齐
  • Qt.AlignBottom; 垂直方向向下对齐
  • Qt.AlignVCenter;垂直方向居中对齐

注:在默认情况下,QLabel显示的文本和图像的对齐方式为水平方向左对齐,垂直方向居中对齐,其外观可以通过多种方式加以调控。

注:setBuddy()功能:设置QLabel的助记符及buddy(伙伴),及使用Qlabel设置快捷键,会在快捷键后将焦点设置到其buddy上,这里用到了Qlabel的交互控件功能 ,此外,buddy可以是任何一个widget控件,使用setBuddy(QWidget*)设置,其Qlabel必须是文本内容,并且使用“&”符号设置了助记符。

QLabel常用信号有:

  • linkActiveted(); 单击标签中的超链接,打开超链接
  • linkHovered();当鼠标指针滑过标签中嵌入的超链接时,需要用槽函数与这个信号进行绑定。

注:当单击标签中的超链接,希望在新窗口打开这个超链接时,setOpenExternalLinks特性必须设置为True。

QLabel类继承关系:

实战PyQt5: 006-标签控件QLabel

测试QLabel

创建文件qlabel.py, 测试的功能包括

  • 显示一个普通文本;
  • 显示一个超链接标签;
  • 显示整数;
  • 显示浮点数;
  • 显示一个图片;
  • 显示一个动画。

代码如下:

import sys import math import os from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import (QPixmap, QMovie) from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel) class DemoLabel(QMainWindow): def __init__(self, parent=None): super(DemoLabel, self).__init__(parent) # 设置窗口标题 self.setWindowTitle("实战PyQt5: QLabel Demo!") # 设置窗口大小 self.resize(400, 240) #label1 显示一段文字 label1 = QLabel(self) label1.move(10, 10) label1.setText("This is a PyQt5 label widget!") label1.adjustSize() #调整尺寸,以完全显示字符串 #label2 显示一个整数 label2 = QLabel(self) label2.move(10, 30) label2.setNum(10000) #label3 显示一个小数 label3 = QLabel(self) label3.move(10, 50) label3.setNum(math.pi) # label4 显示一个图片 pix = QPixmap(os.path.dirname(__file__) + "/python-logo.png") label4 = QLabel(self) label4.move(10, 80) label4.setFixedSize(pix.width(), pix.height()) label4.setPixmap(pix) # label5 显示一个动画 movie = QMovie(os.path.dirname(__file__) + "/use-python.gif") label5 = QLabel(self) label5.move(200, 10) label5.setFixedSize(176, 180) label5.setMovie(movie) movie.start() # label6 显示一个超链接 label6 = QLabel(self) label6.move(10, 160) label6.setText("<A href='www.baidu.com'>欢迎使用百度</a>") label6.setToolTip("这是一个超链接标签") label6.setOpenExternalLinks(True) # 允许访问超链接 if __name__ == '__main__': app = QApplication(sys.argv) window = DemoLabel() window.show() sys.exit(app.exec())

注1:外部文件python-logo.png,use-python.gif与qlabel.py在同一目录。

注2:点击标签6会打开超链接设置的网址,这里设置的是百度。点击,会打开百度搜索的主页。

最终运行结果如下图所示:

实战PyQt5: 006-标签控件QLabel

测试QLabel

本文知识点

  • 使用QLabel显示一段文本;
  • 使用QLabel设置一个超链接;
  • ToolTip设置方法(使用函数setToolTip);
  • 使用QLabel设置一个图像;
  • 使用QLabel设置一个动画;
  • 新出现的类QPixmap, QMovie。

喜欢本文内容就收藏,点赞,评论,关注和转发。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/159860.html

(0)
上一篇 2024-12-01 17:26
下一篇 2024-12-01 17:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信