Qt-Qlabel

Qlabel对象作为一个占位符可以显示不可编辑的文本或图片,还可以设置一个GIF动画,可以杯被用作提示标记其他控件。纯文本,链接,或者富文本五都可以显示在此标签上
Qlabel常用类型与方法
在这里插入图片描述
Qlabel标签的显示与使用

# -*- coding: UTF-8 -*-
import sys
from PyQt5.QtWidgets import QApplication , QToolTip,QWidget,QLabel,QVBoxLayout
from PyQt5.QtGui import QPixmap,QPalette
# QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,可以进行,贴图,添加控件颜色的作用
#QPalette是Qt中的一个调色板类,用于美化界面
from PyQt5.QtCore import Qt

class WinDemo(QWidget):
    def __init__(self):
        super().__init__()

        #创建4个标签
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        #标签控件的初始化
        label1.setText("这是一个文本标签")
        label1.setAutoFillBackground(True)
        #设置控件颜色
        palette=QPalette()
        palette.setColor(QPalette.Window,Qt.blue)
        label1.setPalette(palette)
        #控件居中
        label1.setAlignment(Qt.AlignCenter)

        label2.setText("<a href='#'>欢迎使用 Python GUI应用</a>")

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip("这是一个图片标签")
        #添加图片
        label3.setPixmap(QPixmap("./python.jpg"))
        
        #设置外部链接
        label4.setText("<a href='https://blog.csdn.net/weixin_44677658'>欢迎访问我的博客</a>")
        label4.setAlignment(Qt.AlignRight)
        label4.setToolTip("进入博客")

        #在窗口布局中添加控件
        vbox=QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addStretch()
        #作用是在布局器中增加一个伸缩量,里面的参数表示QSpacerItem的个数,默认值为零,会将你放在layout中的空间压缩成默认的大小
        vbox.addWidget(label2)
        vbox.addStretch()
        vbox.addWidget(label3)
        vbox.addStretch()
        vbox.addWidget(label4)

        #y允许label1访问超链接
        label1.setOpenExternalLinks(True)
        #打开允许访问,默认不允许
        label4.setOpenExternalLinks(True)

        #点击文本框绑定槽事件
        label4.linkActivated.connect( link_clicked )
        #划过文本框绑定槽事件
        label2.linkHovered.connect( link_hovered )

        #设置文本的交互形式
        label1.setTextInteractionFlags(Qt.TextSelectableByMouse)

        self.setLayout(vbox)
        self.setWindowTitle("example")
#类外函数参数可以不加self
def link_hovered():
    print("划过触发")
def link_clicked():
    print("点击触发")


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

addStretch函数
效果
在这里插入图片描述

Qlabel快捷键使用

# -*- coding: UTF-8 -*-
import sys
from PyQt5.QtWidgets import QApplication , QToolTip,QWidget,QLabel,QLineEdit,QPushButton,QGridLayout
from PyQt5.QtGui import QPixmap,QPalette
# QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,可以进行,贴图,添加控件颜色的作用
#QPalette是Qt中的一个调色板类,用于美化界面
from PyQt5.QtCore import Qt

class WinDemo(QWidget):
    def __init__(self):
        super().__init__()

        #定义名字和快捷方式
        label1 = QLabel('&name',self)
        edit1=QLineEdit(self)
        #设置伙伴
        label1.setBuddy(edit1)

        label2 = QLabel('&Password', self)
        edit2 = QLineEdit(self)
        label2.setBuddy(edit2)

        btnOk=QPushButton('&OK')
        btnCancel=QPushButton('&Cancel')

        #设置布局
        mainLayout=QGridLayout(self)
        mainLayout.addWidget(label1,0,0)
        mainLayout.addWidget(edit1,0,1,1,2)
        mainLayout.addWidget(label2, 1, 0)
        mainLayout.addWidget(edit2, 1, 1, 1, 2)
        mainLayout.addWidget(btnOk, 2, 1)
        mainLayout.addWidget(btnCancel,2,2)

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

在这里插入图片描述
使用Alt + 大写首字母即可快速定位到相应控件
原因:Qlabel(&Name)定义了快捷方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章