PyQt5 - QLabel 小部件

  • 简述

    QLabel对象充当占位符以显示不可编辑的文本或图像,或动画 GIF 电影。它也可以用作其他小部件的助记键。标签上可以显示纯文本、超链接或富文本。
    下表列出了 QLabel 类中定义的重要方法 -
    序号 方法和描述
    1
    setMoognment()
    根据对齐常量 Moogs 文本
    Qt.MoognLeft
    Qt.MoognRight
    Qt.MoognCenter
    Qt.MoognJustify
    2
    setIndent()
    设置标签文本缩进
    3
    setPixmap()
    显示图像
    4
    Text()
    显示标签的标题
    5
    setText()
    以编程方式设置标题
    6
    selectedText()
    显示标签中选定的文本(textInteractionFlag 必须设置为 TextSelectableByMouse)
    7
    setBuddy()
    将标签与任何输入小部件相关联
    8
    setWordWrap()
    启用或禁用标签中的自动换行
  • QLabel 类的信号

    linkActivated 如果单击包含嵌入超链接的标签,则会打开 URL。setOpenExternalLinks 功能必须设置为 true。
    linkHovered 当带有嵌入超链接的标签被鼠标悬停时,将调用与此信号关联的 Slot 方法。
  • 例子

    在此示例中,QLabel 对象 l2 和 l4 具有包含超链接的标题。l2 的 setOpenExternalLinks 设置为 true。因此,如果单击此标签,则关联的 URL 将在浏览器中打开。l4 的 linkHovered 信号连接到 hovered() 函数。因此,只要鼠标悬停在它上面,就会执行该函数。
    QPixmap 对象从 python.jpg 文件准备离屏图像。它通过使用显示为标签 l3setPixmap()方法。
    
    
    import sys
    
    from PyQt5.QtCore import *
    
    from PyQt5.QtGui import *
    
    from PyQt5.QtWidgets import *
    
    def window():
    
       app = QApplication(sys.argv)
    
       win = QWidget() 
    
        
    
       l1 = QLabel()
    
       l2 = QLabel()
    
       l3 = QLabel()
    
       l4 = QLabel()
    
        
    
       l1.setText("Hello World")
    
       l4.setText("TutorialsPoint")
    
       l2.setText("welcome to Python GUI Programming")
    
        
    
       l1.setMoognment(Qt.MoognCenter)
    
       l3.setMoognment(Qt.MoognCenter)
    
       l4.setMoognment(Qt.MoognRight)
    
       l3.setPixmap(QPixmap("python.jpg"))
    
        
    
       vbox = QVBoxLayout()
    
       vbox.addWidget(l1)
    
       vbox.addStretch()
    
       vbox.addWidget(l2)
    
       vbox.addStretch()
    
       vbox.addWidget(l3)
    
       vbox.addStretch()
    
       vbox.addWidget(l4)
    
        
    
       l1.setOpenExternalLinks(True)
    
       l4.linkActivated.connect(clicked)
    
       l2.linkHovered.connect(hovered)
    
       l1.setTextInteractionFlags(Qt.TextSelectableByMouse)
    
       win.setLayout(vbox)
    
        
    
       win.setWindowTitle("QLabel Demo")
    
       win.show()
    
       sys.exit(app.exec_())
    
        
    
    def hovered():
    
       print "hovering"
    
    def clicked():
    
       print "clicked"
    
        
    
    if __name__ == '__main__':
    
       window()