首页 > 其他分享 >PyQt5-QLabel控件是什么?方法有哪些?具体如何使用?

PyQt5-QLabel控件是什么?方法有哪些?具体如何使用?

时间:2023-11-10 18:08:20浏览次数:44  
标签:__ 控件 Qt self lab PyQt5 QLabel

(QLabel控件是什么?方法有哪些?具体如何使用?)

1 QLabel控件作用?

  • QLabel控件用于显示不可编辑的文本或图片,也用于设置超链接、富文本,以及作为其他控件的;
  • QLabel控件是PyQt5是一个非常常用又非常基础的一个控件。

2 QLabel源码

  • 源码路径:
PyQt5\QtWidgets\QLabel.py
  • 部分源码:
class QLabel(QFrame):
    """
    QLabel(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())
    QLabel(str, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())
    """
    def actionEvent(self, *args, **kwargs): # real signature unknown
        pass

    def alignment(self): # real signature unknown; restored from __doc__
        """ alignment(self) -> Qt.Alignment """
        pass

    def buddy(self): # real signature unknown; restored from __doc__
        """ buddy(self) -> QWidget """
        return QWidget

    def changeEvent(self, QEvent): # real signature unknown; restored from __doc__
        """ changeEvent(self, QEvent) """
        pass

    def childEvent(self, *args, **kwargs): # real signature unknown
        pass

    def clear(self): # real signature unknown; restored from __doc__
        """ clear(self) """
        pass

3 常用方法

3.1 常用方法

方法 说明
setAlignment() 按固定值方法对齐文本
setIndent() 设置文本缩进值
setPixmap() 设置QLabel为一个Pixmap图片
text() 获取 QLabel 的文本内容
setText() 设置 QLabel 的问本内容
selectedText() 返回所选择的字符
setBuddy() 设置 QLabel 的助记符及 buddy(伙伴),即使用 QLabel 快捷键。使用 setBuddy(QWidget*) 设置,其 QLabel 必须是文本内容,并且使用“&”符号设置了助记符
setWordWrap() 设置是否换行

3.2 关于setAlignment()

  • 源码内容:
    def setAlignment(self, Union, Qt_Alignment=None, Qt_AlignmentFlag=None): # real signature unknown; restored from __doc__
        """ setAlignment(self, Union[Qt.Alignment, Qt.AlignmentFlag]) """
        pass
  • 常用方法:
方法 说明
Qt.AlignLeft 水平方向靠左对齐
Qt.AlignRight 水平方向靠右对齐
Qt.AlignCenter 水平方向居中对齐
Qt.AlignJustify 水平方向调整间距两端对齐
Qt.AlignTop 垂直方向靠上对齐
Qt.AlignBottom 垂直方向靠下对齐
Qt.AlignVCenter 垂直方向居中对齐

4 QLabel常用的信号(事件)

  • 当鼠标滑过QLabel控件时触发: linkHovered
  • 当鼠标单击QLabel控件时触发: linkActivated

5 示例说明

5.1 文本标签

 # 文本标签
lab_1 = QLabel(self)
lab_1.setText("我的应用")
lab_1.setAutoFillBackground(True)  # 自动填充背景
pat = QPalette()
pat.setColor(QPalette.Window, Qt.yellow)
lab_1.setPalette(pat)
lab_1.setAlignment(Qt.AlignCenter)

5.2 文本链接

# 文本链接标签
lab_2 = QLabel(self)
lab_2.setText("<a rel="nofollow" href='#'>山水美景</a>")

5.3 图片标签

# 图片标签
lab_3 = QLabel(self)
lab_3.setAlignment(Qt.AlignCenter)
lab_3.setToolTip("这是一个图片")
lab_3.setPixmap(QPixmap("F:\pyqt_study\images\壁纸13.jpg"))

5.4 超链接标签

# 超链接标签
lab_4 = QLabel(self)
lab_4.setText("<a rel="nofollow" href='xxxxx'>景色宜人</a>")
lab_4.setAlignment(Qt.AlignRight)
lab_3.setToolTip("这是链接")

5.5 窗口添加控件

# 窗口中添加控件
v = QVBoxLayout()
v.addWidget(lab_1)
v.addWidget(lab_2)
v.addWidget(lab_3)
v.addWidget(lab_4)

5.6 绑定信号和槽

# 信号事件
lab_2.linkHovered.connect(self.link_H)
lab_4.linkActivated.connect(self.link_C)

self.setLayout(v)

5.7 定义事件

def link_H(self):
    print("当鼠标滑过label_2时,触发事件")

def link_C(self):
    print("当鼠标单击label_4时,触发事件")

6 完整源码

# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/10
# 文件名称:test025_ToolTip.py
# 作用:Qlabel控件的使用
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson

import sys
import ctypes
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolTip, QVBoxLayout, QWidget, QLabel
from PyQt5.QtGui import QFont
from PyQt5.QtGui import QIcon
from PyQt5.QtGui import QPalette, QPixmap
from PyQt5.QtCore import Qt


myappid = "wo de app"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)


class MyQlabel(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        # 设置窗口标题
        self.setWindowTitle("Qlabel应用")

        # 设置窗口图标
        self.setWindowIcon(QIcon('F:\pyqt_study\images\myicon\hongbao.svg'))

        # 文本标签
        lab_1 = QLabel(self)
        lab_1.setText("我的应用")
        lab_1.setAutoFillBackground(True)  # 自动填充背景
        pat = QPalette()
        pat.setColor(QPalette.Window, Qt.yellow)
        lab_1.setPalette(pat)
        lab_1.setAlignment(Qt.AlignCenter)

        # 文本链接标签
        lab_2 = QLabel(self)
        lab_2.setText("<a rel="nofollow" href='#'>山水美景</a>")

        # 图片标签
        lab_3 = QLabel(self)
        lab_3.setAlignment(Qt.AlignCenter)
        lab_3.setToolTip("这是一个图片")
        lab_3.setPixmap(QPixmap("F:\pyqt_study\images\壁纸13.jpg"))

        # 超链接标签
        lab_4 = QLabel(self)
        lab_4.setText("<a rel="nofollow" href='xxxxx'>景色宜人</a>")
        lab_4.setAlignment(Qt.AlignRight)
        lab_3.setToolTip("这是链接")

        # 窗口中添加控件
        v = QVBoxLayout()
        v.addWidget(lab_1)
        v.addWidget(lab_2)
        v.addWidget(lab_3)
        v.addWidget(lab_4)

        # 信号事件
        lab_2.linkHovered.connect(self.link_H)
        lab_4.linkActivated.connect(self.link_C)

        self.setLayout(v)

    def link_H(self):
        print("当鼠标滑过label_2时,触发事件")

    def link_C(self):
        print("当鼠标单击label_4时,触发事件")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MyQlabel()
    win.show()
    sys.exit(app.exec_())

7 效果图片

在这里插入图片描述

标签:__,控件,Qt,self,lab,PyQt5,QLabel
From: https://blog.51cto.com/NoamaNelson/8305253

相关文章

  • 界面控件DevExtreme图表和仪表(v23.1) - 新功能(Angular,React,Vue,jQuery)
    本文将为大家总结下DevExtreme在v23.1版本中发布的一些与图表和仪表盘相关的功能。DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。获取DevExtremev23.1正式版下载Dev......
  • 02 WPF 常用控件
    02WPF常用控件基本控件使用Border控件在另一个元素四周绘制边框和/或背景(嵌套其他元素)<BorderWidth="300"Height="100"Background="Red"BorderBrush="Black"BorderThickness="10"CornerRadius="10,20,......
  • WPF控件,按钮名称分行显示的方法
    1、利用XML规则下的特殊字符和空格下面的字符在[XML]中被定义为空白(whitespace)字符: 空格【】Tab 【】回车 【】换行【】这里,为了实现分行,我们选择最后一个换行。比如:<ButtonWidth="100" Height="50" Click="Button_Click_2" Content="第一行&#x000A......
  • pyqt5-designer简单使用和代码简单说明
    学习pyqt,实际上主要是逐个学习ui组件。 1、designer的简单使用(1)创建窗口主要是QWidget类窗口和QMainWindow窗口的使用。后者支持窗口菜单栏的实现。(2)拖动(3)布局和预览(4)查看组件属性(5)对象名称和类的 2、简单的代码说明(1)窗口中的所有ui组件,是作为窗口对象的......
  • Android 实现加减自定义控件
    ✍️作者简介:沫小北/码农小北(专注于Android、Web、TCP/IP等技术方向)</br>......
  • PyQt5-如何设置应用和窗口的图标?控件的提示信息如何设置?
    (PyQt5-如何设置应用和窗口的图标?控件的提示信息如何设置?)1如何设置应用和窗口的图标?1.1导入需要的包QApplication类是PyQt5的应用程序类;QMainWindow类是一个主窗口类;QIcon类用于创建和管理图标;ctypes是python的一个函数库,提供和C语言兼容的数据类型,可以直接调用动态链接......
  • asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启
    Enable/DisableRequiredFieldValidatorwithJavascriptdocument.getElementById("requiredfieldvalidatorid").enabled=false;<asp:DropDownListID="ddlServiceName"runat="server"onchange='varDateValidator=docume......
  • 通过 SAP UI5 IconTabBar 控件结合 FlexibleColumnLayout 实现多页面 Master-Detail
    本文也是来源于网络上一位朋友的咨询,这是这位朋友实际项目中的真实需求。本文介绍了一个实际项目中开发需求的详细实现过程。通过使用SAPUI5IconTabBar控件,我们可以让逻辑上属于不同业务范畴的界面,通过点击对应的Icon,以切换的方式,在同一块屏幕区域显示出来。IconTabBar结......
  • 界面控件DevExpress WPF PDF Viewer,更快实现应用的PDF文档浏览
    DevExpressWPFPDFViewer控件可以轻松地直接在Windows应用程序中显示PDF文档,而无需在最终用户的机器上安装外部PDF查看器。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应......
  • pyqt5-QScrollBar
    1、介绍这是一个进度条组件,两侧点击可以加减。 setMinimum(self,a0:int)设置最小值,可以是负值setMaximum(self,a0:int)设置最大值,可以是超过100设置浮点数时,保留其整数部分value(self)->int返回进度条的数值,int类型。默认时最小为0,最大为99。两侧点击,加减的......