PyQt:QLabel在Python里的详细用法 您所在的位置:网站首页 怎么使用python代码 PyQt:QLabel在Python里的详细用法

PyQt:QLabel在Python里的详细用法

2022-12-16 14:59| 来源: 网络整理| 查看: 265

本文将介绍PyQt5中的QLabel部件在Python下的详细用法;并介绍了一些QLabel部件常用的属性和方法,以及信号、槽的使用;

官方文档(C++语言描述):https://doc.qt.io/qt-5/qlabel.html

QLabel 部件用于文本或图像的显示;

该部件位于 PyQt5.QtWidgets 库中,要使用QLabel,需从PyQt5.QtWidgets中导入;

from PyQt5.QtWidgets import QLabel

或者导入 PyQt5.QtWidgets 中的所有部件:

from PyQt5.QtWidgets import *

用法示例:

from PyQt5.QtWidgets import * app = QApplication([]) label = QLabel('Hello World!') label.show() app.exec_()

上述代码简单的展示了QLabel的创建过程。

QLabel() 将返回一个QLabel实例;第一个参数为显示的字符串(可省缺),第二个参数为父部件(可缺省);

下文中的 label 为 QLabel的实例;

使用 setText() 方法设置 QLabel 的文本 :

label.setText("perfcode.com")

使用 text() 方法读取 QLabel 的文本:

label.text()

QLabel 部件支持HTML语言标签,意味着你可以为QLabel部件设置这样的文本:

label.setText("完美代码")

效果如下:

qlabel

这个时候点击QLabel中的超文本链接还不具备打开网页的效果,你还需要使用 setOpenExternalLinks() 方法让 QLabel 允许访问超级链接:

label.setOpenExternalLinks(True)

现在你点击QLabel上的超级链接,将打开网页;

使用 setAlignment() 方法设置 QLabel 的文本对其方法:

from PyQt5.QtCore import Qt label.setAlignment(Qt.AlignCenter)#居中对齐 label.setAlignment(Qt.AlignLeft)#左对齐 label.setAlignment(Qt.AlignRight)#右对齐

Qt 这个对象在 PyQt5.QtCore 库中,要使用需先导入这个库;

你可以使用 setWordWrap() 方法设置是否允许 QLabel 换行:

from PyQt5.QtCore import Qt label.setAlignment(Qt.AlignCenter)#水平方向居中对齐 label.setAlignment(Qt.AlignLeft)#水平方向左对齐 label.setAlignment(Qt.AlignRight)#水平方向右对齐 label.setAlignment(Qt.AlignJustify)#水平方向两端对齐 label.setAlignment(Qt.AlignTop)#垂直方向向上对齐 label.setAlignment(Qt.AlignBottom)#垂直方向向下对齐 label.setAlignment(Qt.AlignVCenter)#垂直方向居中对齐

你可以使用 setPixmap() 方法来为 QLabel 设置图片或图标:

label.setWordWrap(True)

你需要用到 QPixmap 部件,QPixmap 部件在 PyQt5.QtGui 库中;

QLabel 信号与槽

这里介绍两种信号,以及如何绑定槽函数:

#槽函数 def link_hovered(): print("光标浮动到超级连接上显示此信息") #槽函数 def link_clicked(): print("单击超级链接时显示此信息") #绑定槽函数 label.linkHovered.connect(link_hovered) label.linkActivated.connect(link_clicked)

需要注意的是,当使用 setOpenExternalLinks() 方法设置 QLabel 允许打开超级链接时,linkActivated 信号无效。

完整示例代码:

from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys class MainWindow(QWidget): def __init__(self): super().__init__() #实例化 QLabel部件 self.label=QLabel(self) #设置函数有HTML标签的文本 self.label.setText("完美代码") #显示文本信息 print(self.label.text()) #设置对齐方式 self.label.setAlignment(Qt.AlignCenter) #允许访问超文本链接 self.label.setOpenExternalLinks(True) #允许访问超链接 #绑定槽函数 self.label.linkHovered.connect(self.link_hovered) self.label.linkActivated.connect(self.link_clicked) self.vbox=QVBoxLayout() self.setLayout(self.vbox) self.vbox.addWidget(self.label) self.vbox.addStretch() def link_hovered(self): print("光标浮动到超级连接上显示此信息") def link_clicked(self): print("单击超级链接时显示此信息") if __name__=="__main__": app=QApplication(sys.argv) win=MainWindow() win.show() sys.exit(app.exec_())


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有