• PyQt5-QLabel控件使用


    QLabel对象作为一个占位符可以显示不可编辑的文本或者图片,也可以放一个gif动画,还可以作为一个提示标记作为其他控件;

    该标签可以放纯文本,链接或者富文本信息;

    继承关系如下:

    QObject---+

            QPaintDevice--+

            QWidget--+

              QFrame--+

                         +---QLabel

    常用方法:

    常用信息方法:

    例如:

     1 #QLabel控件使用
     2 from PyQt5.QtWidgets import QApplication,QLabel,QWidget,QVBoxLayout
     3 from PyQt5.QtCore import Qt
     4 from PyQt5.QtGui import QPixmap,QPalette
     5 import sys
     6 
     7 class WindowDemo(QWidget):
     8     def __init__(self):
     9         super().__init__()
    10         self.label_1=QLabel(self)
    11         self.label_1.setText("这是一个文本标签!<a href='www.baidu.com' style='color:red'>百度</a>")
    12         self.label_1.setAutoFillBackground(True)
    13         self.palette=QPalette()
    14         self.palette.setColor(QPalette.Window,Qt.blue)
    15         self.label_1.setPalette(self.palette)
    16         self.label_1.setAlignment(Qt.AlignCenter)
    17 
    18         self.label_1.setOpenExternalLinks(True) #允许访问超链接
    19         #self.label_1.setTextInteractionFlags(Qt.TextSelectableByMouse)#设置文字是否可被选中,设置后link_hovered失效
    20         self.label_1.linkHovered.connect(self.link_hovered)#针对链接光标略过
    21         self.label_1.linkActivated.connect(self.link_clicked)#针对链接点击事件
    22 
    23         self.label_2=QLabel(self)
    24         self.label_2.setPixmap(QPixmap('./image/baidu.png'))#设置图标,与文字冲突,则setText的文字不显示
    25 
    26         self.vbox=QVBoxLayout()
    27         self.setLayout(self.vbox)
    28         self.vbox.addWidget(self.label_1)
    29         self.vbox.addWidget(self.label_2)
    30         self.vbox.addStretch()
    31 
    32     def link_hovered(self):
    33         print("光标滑过Label_1触发事件")
    34     def link_clicked(self):
    35         print("点击时触发事件")
    36 
    37 if __name__=="__main__":
    38     app=QApplication(sys.argv)
    39     win=WindowDemo()
    40     win.show()
    41     sys.exit(app.exec_())

    QLabel设置快捷键:

     1 #QLabel标签的快捷键设置
     2 from PyQt5.QtWidgets import QApplication,QLabel,QWidget,QVBoxLayout,QPushButton,QLineEdit,QHBoxLayout,QGridLayout
     3 from PyQt5.QtCore import Qt
     4 from PyQt5.QtGui import QPixmap,QPalette
     5 import sys
     6 
     7 class Qlabel_demo(QWidget):
     8     def __init__(self,parent=None):
     9         super(Qlabel_demo,self).__init__(parent)
    10         nameL_1=QLabel("&Name",self)
    11         nameE_1=QLineEdit(self)
    12         nameL_1.setBuddy(nameE_1)
    13 
    14         nameL_2=QLabel("&Password",self)
    15         nameE_2=QLineEdit(self)
    16         nameL_2.setBuddy(nameE_2)#设置该Label与谁配对(使用alt+n快捷键)
    17 
    18         btnOk=QPushButton("&OK")
    19         btnCancel=QPushButton("&Cancel")
    20         mainLayout=QGridLayout(self)
    21         mainLayout.addWidget(nameL_1,0,0)#控件名,行,列,占用行数,占用列数,对齐方式
    22         mainLayout.addWidget(nameE_1,0,1,1,2)
    23         mainLayout.addWidget(nameL_2,1,0)
    24         mainLayout.addWidget(nameE_2,1,1,1,2)
    25         mainLayout.addWidget(btnOk,2,1)
    26         mainLayout.addWidget(btnCancel,2,2)
    27 
    28 if __name__=="__main__":
    29     app=QApplication(sys.argv)
    30     win=Qlabel_demo()
    31     win.show()
    32     sys.exit(app.exec_())

  • 相关阅读:
    修改python默认版本
    Ansible基础
    day21
    paramiko上传文件到Linux
    参考书籍
    C++解析三
    块设备
    assert用法
    块设备驱动2
    块设备驱动1
  • 原文地址:https://www.cnblogs.com/ygzhaof/p/10057722.html
Copyright © 2020-2023  润新知