qt QLabel详解

一、概述

QLabel 是 Qt 框架中的一个非常常用的控件,用于显示文本、图像或两者的组合。它是 QWidget 的子类,可以用于构建用户界面。

QLabel控件作为一个占位符,可以显示不可编辑的文本或图片,也可以播放一个GIF动画,还可以被用作提示标记为其他控件。纯文本、链接或富文本都可以显示在标签上。然而,QLabel不提供用户交互功能,即不提供用户输入事件的处理,但可以配置其外观和布局。

二、重要方法

  • QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()):创建一个 QLabel 对象,并可以指定其父对象。

  • QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()):创建一个 带文本的QLabel 对象

  • **setText(const QString &text):**设置标签显示的文本,可以是普通文本或 HTML 格式的文本。

  • setTextFormat(Qt::TextFormat format): 设置文本格式(如 Qt::PlainTextQt::RichText),决定如何解析和渲染文本。

  • **setPixmap(const QPixmap &pixmap):**设置标签显示的图像。

  • **setScaledContents(bool scaled):**设置是否允许标签内容根据标签的大小进行缩放。

  • setAlignment(Qt::Alignment alignment): 设置文本和图像的对齐方式,如 Qt::AlignLeftQt::AlignCenterQt::AlignRight

  • **text():**返回当前显示的文本内容。

  • **pixmap():**返回当前显示的图像(QPixmap)。

  • **setStyleSheet(const QString &style):**应用样式表,以自定义标签的外观(如背景颜色、字体、边框等)。

  • **setWordWrap(bool on):**设置是否允许文本在达到标签边界时自动换行。

  • setOpenExternalLinks(bool open): 设置是否自动打开外部链接(例如,在 HTML 文本中使用 <a> 标签时)。

  • **mousePressEvent(QMouseEvent *event):**可以重写此方法以处理鼠标点击事件,执行自定义行为。

    #include
    #include
    #include

    int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    复制代码
      QLabel label;
      
      // 设置文本和格式
      label.setText("<h2>Hello, Qt!</h2>");  // 使用 HTML 格式
      label.setTextFormat(Qt::RichText);
      
      // 设置图像
      QPixmap pixmap("path/to/image.png");  // 替换为实际图像路径
      label.setPixmap(pixmap);
      label.setScaledContents(true);          // 允许图像缩放
    
      // 设置对齐方式
      label.setAlignment(Qt::AlignCenter);    
      label.setWordWrap(true);                 // 允许换行
    
      // 设置样式
      label.setStyleSheet("QLabel { color: green; font-size: 18px; }");
    
      // 显示标签
      label.resize(400, 300);
      label.show();
    
      return app.exec();

    }

觉得有帮助的话,打赏一下呗。。

相关推荐
skr爱码士5 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt·ui·客户端
Quz6 小时前
QML 拖拽篇:看板拖拽与数字拼图
qt
长友cy6 小时前
Qt官方示例Application源码阅读
开发语言·qt
程与留1 天前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
程与留1 天前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
Quz1 天前
QML 拖拽篇:接收拖拽与数据交换
qt
张人玉2 天前
基于 Python 机器学习 与 PyQt5 桌面框架开发的可视化分析系统——基于大数据的网上购物消费行为分析可视化大屏
python·qt·机器学习·echarts·three.js
「QT(C++)开发工程师」2 天前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
小镇敲码人2 天前
【深入浅出】之Qt 事件系统实战:鼠标、键盘、滚轮、窗口与定时器事件
数据库·qt·网络协议·mysql·http
小小龙学IT2 天前
Qt 数据库编程(Qt SQL 模块)深度解析
数据库·sql·qt