PyQt入门之QLabel控件

QLabel可展示文本和多媒体

水平和垂直的标志

水平标志是:

对齐方式 描述
Qt.AlignLeft 靠左边缘对齐
Qt.AlignRight 靠右边缘对齐
Qt.AlignHCenter 水平居中

垂直标志是:

对齐方式 描述
Qt.AlignTop 靠上端对齐
Qt.AlignBottom 靠下端对齐
Qt.AlignVCenter 垂直居中

常用方法:

setAlignment() 设置文本对齐方式

setIndent() 设置文本缩进

text() 获取文本内容

setBuddy() 设置伙伴关系

setText() 设置文本内容

selectedText() 返回所选的字符

setWordWrap() 设置是否运行换行

setScaledContents() 设置图片是否自适应控件

setOpenExternalLinks() 设置是否打开超链接

 

常用事件:

linkHovered:鼠标滑过触发

linkActivated:鼠标单击

切记label标签的内容为超级链接的时候,才会触发这两种方法

 

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__() #调用父类构造函数初始化
        self.setWindowTitle("第一个窗口")
        self.resize(500,500)
        screen = QDesktopWidget().screenGeometry()  # 获取屏幕坐标系
        size=self.geometry()#获取窗口坐标系
        self.move((screen.width()-size.width())/2,(screen.height()-size.height())/2)#让窗口居中
        self.setToolTip("<h1>这是第一个窗口</h1>")#设置悬浮信息
        self.setWindowIcon(QIcon("img.png"))
        self.setupui()
    def setupui(self):
        label=QLabel(self)
        label.resize(100,100)
        label.setAlignment(Qt.AlignCenter)
        label.setObjectName("label")
        label.setText("这是一个图片")
        label.move(200,150)
        label1=QLabel(self)
        label1.resize(100, 100)
        label1.setAlignment(Qt.AlignCenter)
        label1.setScaledContents(True)#让图片自适应Label
        label1.setPixmap(QPixmap("img.png"))
        label1.move(200, 250)
        label2=QLabel(self)
        label2.resize(100, 100)
        label2.setAlignment(Qt.AlignCenter)
        label2.setOpenExternalLinks(True)
        label2.setText("<a href='https://www.vip.com/?wq=1'>唯品会官网</a>")
        label2.move(200, 350)
        self.label=label
        label2.linkHovered.connect(self.link1)
        label2.linkActivated.connect(self.link2)
        menu=self.menuBar()#默认有菜单栏对象
        m1=menu.addMenu("菜单")
        m1.addAction("功能1")
        m1.addAction("功能2")
        m1.addAction("功能3")
        tool=self.addToolBar("工具栏")#添加一个工具栏
        tool.addAction("工具1")
        tool.addAction("工具2")
        tool.addAction("工具3")
        state=self.statusBar()#默认自带一个工具栏对象
        state.showMessage("运行中")
        button=QPushButton(self)
        button.setText("退出程序")
        button.setToolTip("<h1><sub>你确定要关闭吗?</sub></h1>")
        button.move(0,50)
        button.clicked.connect(self.closebutton)
    def closebutton(self):
        app=QApplication.instance()
        app.quit()
    def link1(self):
        self.label.setText("鼠标滑过超链接")
    def link2(self):
        self.label.setText("鼠标点击超链接")
if __name__ == '__main__':
    app=QApplication(sys.argv)
    window=MainWindow()
    window.show()
    sys.exit(app.exec_())

posted @ 2023-05-13 00:01  突破铁皮  阅读(351)  评论(0编辑  收藏  举报