一、概述
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::PlainText
或Qt::RichText
),决定如何解析和渲染文本。 -
**
setPixmap(const QPixmap &pixmap):
**设置标签显示的图像。 -
**
setScaledContents(bool scaled):
**设置是否允许标签内容根据标签的大小进行缩放。 -
setAlignment(Qt::Alignment alignment):
设置文本和图像的对齐方式,如Qt::AlignLeft
、Qt::AlignCenter
、Qt::AlignRight
。 -
**
text():
**返回当前显示的文本内容。 -
**
pixmap():
**返回当前显示的图像(QPixmap)。 -
**
setStyleSheet(const QString &style):
**应用样式表,以自定义标签的外观(如背景颜色、字体、边框等)。 -
**
setWordWrap(bool on):
**设置是否允许文本在达到标签边界时自动换行。 -
setOpenExternalLinks(bool open):
设置是否自动打开外部链接(例如,在 HTML 文本中使用<a>
标签时)。 -
**
mousePressEvent(QMouseEvent *event):
**可以重写此方法以处理鼠标点击事件,执行自定义行为。#include <QApplication>
#include <QLabel>
#include <QPixmap>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();
}
觉得有帮助的话,打赏一下呗。。