PyQt——QLabel

QLabel常用的信号(事件):
1.  当鼠标滑过QLabel控件时触发:linkHovered
2.  当鼠标单击QLabel控件时触发:linkActivated

QLabel控件

setAlignment():设置文本的对齐方式

setIndent():设置文本缩进

text():获取文本内容

setBuddy():设置伙伴关系

setText():设置文本内容

selectedText():返回所选择的字符

setWordWrap():设置是否允许换行
'''
QLabel控件

setAlignment():设置文本的对齐方式

setIndent():设置文本缩进

text():获取文本内容

setBuddy():设置伙伴关系

setText():设置文本内容

selectedText():返回所选择的字符

setWordWrap():设置是否允许换行

QLabel常用的信号(事件):
1.  当鼠标滑过QLabel控件时触发:linkHovered
2.  当鼠标单击QLabel控件时触发:linkActivated

'''

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

class QLabelDemo(QWidget) :
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        label1.setText("<font color=yellow>这是一个文本标签.</font>")
        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("./images/python.jpg"))
        # 如果设为True,用浏览器打开网页,如果设为False,调用槽函数
        label4.setOpenExternalLinks(True)

        label4.setText("<a href='https://item.jd.com/12417265.html'>感谢关注《Python从菜鸟到高手》</a>")

        label4.setAlignment(Qt.AlignRight)

        label4.setToolTip('这是一个超级链接')

        vbox = QVBoxLayout()

        vbox.addWidget(label1)
        vbox.addWidget(label2)
        vbox.addWidget(label3)
        vbox.addWidget(label4)


        label2.linkHovered.connect(self.linkHovered)

        label4.linkActivated.connect(self.linkClicked)

        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')

    def linkHovered(self):
        print('当鼠标滑过label2标签时,触发事件')

    def linkClicked(self):
        print('当鼠标单击label4标签时,触发事件')

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

 

 

### PyQt 中 `QLabel` 的使用教程 #### 基本用法 为了展示如何在 PyQt 应用程序中创建并配置一个基础的 `QLabel` 控件,可以参考如下代码片段: ```python import sys from PyQt5.QtWidgets import QLabel, QWidget, QApplication app = QApplication(sys.argv) window = QWidget() window.setGeometry(300, 300, 300, 300) label = QLabel('Hello, QLabel!', window) window.show() sys.exit(app.exec_()) ``` 上述代码展示了怎样初始化一个带有文本标签的应用窗口[^1]。 #### 高级功能:集成 OpenCV 图像处理能力 对于希望利用 `QLabel` 显示来自摄像头或其他源获取到的画面的情况,则可以通过继承自定义类来增强其特性。下面是一个具体的实现方式: ```python from PyQt5.QtWidgets import QApplication from QLabelCV import QLabelCV # 自定义组件用于支持OpenCV视频流显示 if __name__ == '__main__': application = QApplication(sys.argv) label_cv = QLabelCV() label_cv.show() label_cv.set_camera(0) # 设置使用的摄像设备索引 sys.exit(application.exec_()) ``` 这段脚本说明了通过扩展标准库中的控件以满足特定需求的方法[^2]。 #### 动态调整图片尺寸而不失真 当涉及到动态更新或响应布局变化时,确保图像能够按照预期的方式缩放是非常重要的。这里提供了一种解决方案,在窗口大小发生变化时自动调整内部存储的图像至合适尺寸的同时维持原有的纵横比: ```python def resizeEvent(self, event): """ 当窗口大小改变时触发此函数 """ scaled_image = self.image.scaled( self.image_label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation ) self.image_label.setPixmap(scaled_image) ``` 该段逻辑实现了既定目标——即仅修改宽度高度而不会扭曲原始图形的比例关系[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值