Qt—QLabel 使用总结

参考链接:Qt—QLabel 使用总结

一、简述

QLabel(标签控件) 提供了一个文本或图像的显示,没有提供用户交互功能。

一个 QLabel 可以包含以下任意内容类型:
-纯文本:使用 setText() 设置一个 QString

  • 富文本:使用 setText() 设置一个富文本的 QString
  • 图像:使用 setPixmap() 设置一个图像
  • 动画:使用 setMovie() 设置一个动画
  • 数字:使用 setNum() 设置 int 或 double,并转换为纯文本
  • Nothing:空的纯文本,默认的,使用 clear() 设置

二、使用总结

显示

首先我们构造一个 QLabel 对象。通过调用 setText 可以为标签设置文本(Hello World),这时标签就可以正常显示出来了。为了显示更佳的效果,我们可以通过调用 setStyleSheet 来设置样式。

QLabel *pLabel = new QLabel(this);
pLabel->setText("Hello World");
pLabel->setStyleSheet("color: red");

对齐方式

默认的标签文本对齐方式为:左对齐、垂直居中,我们可以通过 setAlignment 来设置,包括:左、上、右、下、居中对齐,一般情况,我们会进行两两组合(水平方向、垂直方向)。

比如:居中对齐

pLabel->setAlignment(Qt::AlignCenter);

使用样式表来控制(水平居右、垂直居下):

setStyleSheet("qproperty-alignment: 'AlignBottom | AlignRight';");

缩进

设置 QLabel 的文本缩进:

pLabel->setIndent(4);

自动换行

如果文本过长,我们可以采用自动换行的方式来显示。

pLabel->setWordWrap(true);

注意:当使用英文的时候,如果写为类似形式 ”abcdefghijklmnopqrstuvwxyz” 则是不能换行的,why?因为中间没有空格,所以需要写为 ”abcde fghij klmno pqrst uvwxyz”。

设置行高

一般情况下,自动换行之后文本上下行会距离比较近,我们可以通过下面方式来设置行高。

pLabel->setWordWrap(true);
QString strText = QStringLiteral("一去二三里,烟村四五家。亭台六七座,八九十枝花。");
QString strHeightText = "

%2

"; strText = strHeightText.arg(150).arg(strText); pLabel->setText(strText);

省略

如果过长,我们又不想换行,只想把其中一部分省略为…,那么我们可以通过 QFontMetrics 来实现,这里先不介绍 QFontMetrics,感兴趣的童鞋可以先自行研究。

QString strText 

你可能感兴趣的:(Qt常用控件使用总结,qt,数据库,开发语言)