70.QLabel

标签控件,可以展示图像和文本

70.QLabel

可以展示gif图

继承QFrame

目录

1  功能作用

1.1  构造函数

1.2  对齐

1.2.1  设置 setAlignment()

1.2.2  获取 alignment()

1.3  缩进

1.3.1  获取 indent()

1.3.2  设置 setIndent()

1.4  边距

1.4.1  获取 margin()

1.4.2  设置 setMargin()

1.5  文本格式

1.5.1  获取 textFormat()

1.5.2  设置 setTextFormat()

1.6  绑定

1.6.1  设置 setBuddy()

1.6.2  获取 buddy()

1.7  内容缩放

1.7.1  设置 setScaledContents(bool)

1.7.2  获取 hasScaledContents()

1.8  外部链接

1.8.1  设置 setOpenExternalLinks()

1.8.2  获取 openExternalLinks()

1.9  文本交互标志

1.9.1  设置 setTextInteractionFlags()

1.9.2  获取 textInteractionFlags()

1.10  选中文本

1.10.1  选中指定区域文本 setSelection(int start, int length)

1.10.2  获取是否选中的文本 hasSelectedText()

1.10.3  获取选中的文本 selectedText()

1.10.4  获取开始位置 selectionStart()

1.11  单词换行

1.11.1  设置 setWordWrap()

1.11.2  获取 wordWrap()

2  内容操作

2.1  文本

2.1.1  设置 setText()

2.1.2  获取 text()

2.2  数值 setNum()

2.3  图像

2.3.1  设置画的图像 setPicture()

2.3.2  设置存储的图像 setPixmap()

2.4  动图

2.4.1  设置动图 setMovie()

2.4.2  获取动图 movie()

2.4.3  设置动图尺寸 setScaledSize()

2.4.4  暂停动图 setPaused()

2.4.5  设置动图速度 setSpeed()

2.4.6  开始动图 start()

2.4.7  停止动图 stop()

2.5  清空 clear()

3  信号

3.1  超链接被激活时触发 linkActivated()

3.2  鼠标放在超链接上或移开时触发 lineHovered()


1  功能作用

1.1  构造函数

70.QLabel

其中flags是展示样式,这个我们很少用

除去flags我们有两种方法写构造函数

  • 直接写父对象
  • 在父对象前添加一个默认的字符串内容

由于我们之前总是用直接写父对象的方法,我们这次就再传一个文本进去

70.QLabel

70.QLabel

1.2  对齐

70.QLabel

为了方便看,我们把控件搞大一点,然后设置一个背景颜色

70.QLabel

70.QLabel

1.2.1  设置 setAlignment()

我们依照可以选的参数每个搞出一遍效果

  • Qt.AlignAbsolute

70.QLabel

  • Qt.AlignBaseline

70.QLabel

  • Qt.AlignBottom

70.QLabel

  • Qt.AlignCenter

70.QLabel

  • Qt.AlignHCenter

70.QLabel

  • Qt.AlignHorizontal_Mask

70.QLabel

  • Qt.AlignJustify

70.QLabel

  • Qt.AlignLeading

70.QLabel

  • Qt.AlignLeft

70.QLabel

  • Qt.AlignRight

70.QLabel

  • Qt.AlignTop

70.QLabel

  • Qt.AlignTrailing

70.QLabel

  • Qt.AlignVCenter

70.QLabel

  • Qt.AlignVertical_Mask

70.QLabel

以上的我找到的Qt库中所有的可选参数,有的是配合使用的,这个不长用,就不多做介绍了

我们显示一下调用的方法

70.QLabel

1.2.2  获取 alignment()

70.QLabel

70.QLabel

1.3  缩进

70.QLabel

我们现在的窗口是这样的

70.QLabel

1.3.1  获取 indent()

70.QLabel

70.QLabel

直接进行获取返回值是-1

1.3.2  设置 setIndent()

我们现在设置为20

70.QLabel

70.QLabel

这里给的参数是像素值

  • 文本缩进只在左侧或右侧生效

1.4  边距

70.QLabel

我们现在的窗口是这样的

70.QLabel

1.4.1  获取 margin()

70.QLabel

70.QLabel

如果不进行设置,默认的边距是0

1.4.2  设置 setMargin()

我们现在设置边距为50

70.QLabel

70.QLabel

  • 这个边距设置完之后是上下左右都有的

1.5  文本格式

70.QLabel

上面两个函数涉及到Qt.TextFormat这个对象参数,它可选的值如下

70.QLabel

  • 0 - Qt.PlainText 普通文本
  • 1 - Qt.RichText 富文本
  • 2 - Qt.AutoText 自动判断

我们现在设置一个html字符串作为label的内容

70.QLabel

70.QLabel

1.5.1  获取 textFormat()

70.QLabel

70.QLabel

默认情况下为自动获取

1.5.2  设置 setTextFormat()

现在我们将状态调整到纯文本

70.QLabel

70.QLabel

如果搞成富文本就是自动识别的那样,就不在展示了

1.6  绑定

70.QLabel

我们可以将标签与其他的控件进行绑定,当标签获取到快捷键信号时,被绑定的控件也会收到同样的快捷键信号

比如我们的登陆界面

70.QLabel

当单行文本编辑器前方的标签收到信号后,后面的单行文本编辑器同样会收到信号

我们这样测试,我们给一个标签绑定快捷键,之后搞两个单行文本编辑器,之后再将其中一个文本编辑器与标签绑定

70.QLabel

70.QLabel

70.QLabel

1.6.1  设置 setBuddy()

此时我们的le1并没有设置快捷键,现在我们将label与le1绑定

  • le1是第二行文本编辑器

70.QLabel

运行后焦点是默认在le上的

70.QLabel

我们现在按下alt+s

70.QLabel

焦点转到了第二行

1.6.2  获取 buddy()

70.QLabel

70.QLabel

1.7  内容缩放

70.QLabel

  • 仅适用于图片

我们向其中放一张图片

70.QLabel

运行之后是这样的

70.QLabel

1.7.1  设置 setScaledContents(bool)

70.QLabel

70.QLabel

1.7.2  获取 hasScaledContents()

70.QLabel

70.QLabel

1.8  外部链接

70.QLabel

我们首先搞一个链接作为label的内容

70.QLabel

70.QLabel

此时我们点这个链接是打不开的

1.8.1  设置 setOpenExternalLinks()

70.QLabel

70.QLabel

现在我们点这个链接是可以打开了

1.8.2  获取 openExternalLinks()

70.QLabel

70.QLabel

1.9  文本交互标志

70.QLabel

这两个函数涉及到一个变量 Qt.TextInteractionFlags,可选的值如下

70.QLabel

  • Qt.NoTextInteraction 不与文本进行交互
  • Qt.TextSelectableByMouse 可被鼠标选中
  • Qt.TextSelectableByKeyboard 可使用文本光标操作
  • Qt.LinksAccessibleByMouse 可用鼠标激活链接
  • Qt.LinksAccessibleByKeyboard 可用键盘激活链接
  • Qt.TextEditable 文本可编辑
  • Qt.TextEditorInteraction 可用用光标文本操作,可用鼠标选中,可编辑
  • Qt.TextBrowserInteraction 可被鼠标选中,可用键盘或鼠标激活链接

我们设置一个带链接的富文本作为标签的内容

70.QLabel

70.QLabel

此时我将鼠标移动到baidu上鼠标会显示为食指选中状态

1.9.1  设置 setTextInteractionFlags()

  • Qt.NoTextInteraction

70.QLabel

这个时候是无法用鼠标选中的,而且移动将鼠标移动到文本上鼠标不会变为食指选中状态

  • Qt.TextSelectableByMouse

70.QLabel

70.QLabel

可以用鼠标选中内容,也可以选择复制或全选

  • Qt.TextSelectableByKeyboard

70.QLabel

70.QLabel

可以看到一个光标,按左右键可以改变光标位置,在移动光标时按住shift可选中区域

  • Qt.LinksAccessibleByMouse

70.QLabel

70.QLabel

设置与没设置没感觉有什么变化

  • Qt.LinksAccessibleByKeyboard

这个如果单独设置我用鼠标点链接都点不开

我们现在加入光标控制

70.QLabel

当我给所有内容都选中后,然后点击回车,会跳出网页

70.QLabel

  • Qt.TextEditable

单独放这个没有作用,我们需要将可使用文本光标操作一起放进去才有效果

70.QLabel

此时我们可编辑内容

70.QLabel

70.QLabel

  • Qt.TextEditorInteraction

相当于Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard | Qt.TextEditable

可用用光标文本操作,可用鼠标选中,可编辑

70.QLabel

  • Qt.TextBrowserInteraction

70.QLabel

相当于以上三个功能的结合,可用鼠标选中,可用鼠标进入,可用键盘进入

运行之后我们需要用鼠标点一下进入链接,之后我们也可以按键盘上的enter进入链接,或者一开始就全部选中文本,然后点enter也可以进入

70.QLabel

1.9.2  获取 textInteractionFlags()

70.QLabel

70.QLabel

1.10  选中文本

必须在选中状态下才能选中,我们搞一个hello以供选中

70.QLabel

1.10.1  选中指定区域文本 setSelection(int start, int length)

第一个参数为开始位数,第二个参数为选中长度

70.QLabel

70.QLabel

1.10.2  获取是否选中的文本 hasSelectedText()

我们搞一个按钮效果更加明显

70.QLabel

此时我们选中了两个字符,然后点击一下按钮

70.QLabel

70.QLabel

现在我们没选中任何字符,然后点一下按钮

70.QLabel

70.QLabel

1.10.3  获取选中的文本 selectedText()

我们更改一下槽函数

70.QLabel

此时我们选中he,然后点击一下按钮

70.QLabel

70.QLabel

1.10.4  获取开始位置 selectionStart()

这个方法由于焦点的问题,我们就不能通过按钮搞了

70.QLabel

70.QLabel

70.QLabel

1.11  单词换行

70.QLabel

我们现在放一段长句子作为标签的内容

70.QLabel

运行之后是这样的

70.QLabel

1.11.1  设置 setWordWrap()

70.QLabel

现在运行之后是这样的

70.QLabel

1.11.2  获取 wordWrap()

70.QLabel

70.QLabel

2  内容操作

2.1  文本

70.QLabel

2.1.1  设置 setText()

70.QLabel

70.QLabel

  • 如果是富文本的话默认会自动识别

70.QLabel

70.QLabel

2.1.2  获取 text()

70.QLabel

70.QLabel

2.2  数值 setNum()

70.QLabel

可以设置整形数据也可以设置浮点型数据

70.QLabel

70.QLabel

70.QLabel

70.QLabel

经测试,如果数字的位数一多就不能显示小数了

2.3  图像

70.QLabel

2.3.1  设置画的图像 setPicture()

70.QLabel

70.QLabel

2.3.2  设置存储的图像 setPixmap()

70.QLabel

70.QLabel

2.4  动图

70.QLabel

2.4.1  设置动图 setMovie()

70.QLabel

由于gif图太大了,我调整了一下动图尺寸

在每次设置完动图之后,如果想让它显示,需要在下面加一个start

现在我们就看到了这一个动图

70.QLabel

2.4.2  获取动图 movie()

70.QLabel

70.QLabel

2.4.3  设置动图尺寸 setScaledSize()

70.QLabel

我们在操作之初就设置了,现在我们把它取消掉

取消掉之后是这一个样子的

70.QLabel

现在我们加上

70.QLabel

2.4.4  暂停动图 setPaused()

我们搞一个按钮效果更加明显

70.QLabel

一开始运行后动图是运动的

70.QLabel

现在我们点一下按钮

70.QLabel

此时动图不动了

2.4.5  设置动图速度 setSpeed()

我们此时设置动图为50倍速

70.QLabel

运行后发现动图在快速的播放

70.QLabel

2.4.6  开始动图 start()

我们如果想让动图显示在标签中,必须加上start()

70.QLabel

在停止后再加上start()也会开始动,但此时是从头开始运动,而不是暂停

2.4.7  停止动图 stop()

70.QLabel

我们把它放在槽函数中

按了一下按钮,动图停止播放

70.QLabel

2.5  清空 clear()

无论放什么内容,clear()之后都会消失

我们搞一个按钮,把clear()放在槽函数中

70.QLabel

此时我在label上放了一个动图

70.QLabel

点击按钮之后,动图消失

70.QLabel

3  信号

70.QLabel

这两个信号都是关于超链接的信号

我们首先将链接放在label的内容中,我们就不设置可打开网页了

70.QLabel

70.QLabel

3.1  超链接被激活时触发 linkActivated()

70.QLabel

运行之后点击一下链接

70.QLabel

70.QLabel

它会传递一个网址的变量

70.QLabel

70.QLabel

如果设置了可打开网页,这个信号则不会被触发

3.2  鼠标放在超链接上或移开时触发 lineHovered()

70.QLabel

运行之后我们将鼠标放在超链接上,然后移开

70.QLabel

70.QLabel

它在放上去的时候会传递一个网址变量,离开的时候不会传递

70.QLabel

70.QLabel

如果设置了变量,最开始的时候只会触发一次信号

上一篇:pyqt5界面使用


下一篇:springboot常用配置(自用)