QLabel
是Qt中用于显示文本或图像的控件,属于Qt Widgets模块。它是展示静态内容的理想选择,支持富文本格式,使得文本可以包含不同的字体、颜色和链接。QLabel
也可以用来显示图像,包括动态图像。此外,它还支持文本和图像的对齐方式设置。
QLabel
能够显示普通文本、富文本或者翻译后的文本。它通过setText()
方法来设置文本内容,如果文本包含富文本格式,则会自动识别并渲染。
通过setPixmap()
方法,QLabel
可以显示QPixmap
图像。这使得它能够展示本地的图片文件或者程序中动态生成的图像。
QLabel
提供了setAlignment()
方法,允许开发者设置文本或图像在控件内的对齐方式,如左对齐、居中对齐或右对齐。
虽然QLabel
主要用于显示静态内容,但它也可以被配置为响应用户的交互。例如,通过设置setOpenExternalLinks(true)
,QLabel
中的超链接可以被点击并在外部浏览器中打开。
QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
:创建一个新的QLabel
实例,可以指定父控件和窗口标志。
void setText(const QString &text)
:设置要显示的文本。
void setPixmap(const QPixmap &pixmap)
:设置要显示的图像。
QLabel *label = new QLabel(this);
label->setText("Hello, World!");
void setAlignment(Qt::Alignment alignment)
:设置内容的对齐方式。
label->setAlignment(Qt::AlignCenter);
void setOpenExternalLinks(bool open)
:设置是否允许打开外部链接。
void setWordWrap(bool on)
:设置是否对长文本进行自动换行。
label->setOpenExternalLinks(true);
QString text() const
:获取当前显示的文本。
QPixmap pixmap() const
:获取当前显示的图像。
void clear()
:清除QLabel
的内容,包括文本和图像。
QLabel *richTextLabel = new QLabel(this);
richTextLabel->setText("
Title
This is bold paragraph.
");
QLabel *imageLabel = new QLabel(this);
QPixmap pixmap("path/to/image.png");
imageLabel->setPixmap(pixmap);
QLabel
是Qt中非常基础且强大的控件,适用于多种场景,包括显示提示信息、图像、或作为界面的一部分显示静态文本。通过上述的属性和方法,QLabel
可以灵活地被定制以满足不同的需求,是Qt GUI开发中不可或缺的组件。