目录
1,Label属性的说明
2,label属性的运用
1,Label属性的说明
QLabel 是用来显示文本和图片的部件,通常被用作标签来标识其他部件。其核心属性如下。
2,label属性的运用
文本格式 textFormat 的使用。
// 把label1设置成纯文本
ui->label1->setTextFormat(Qt::PlainText);
ui->label1->setText("# <b>这时一个纯文本</b>"); // 文本
// 把label2设置成富文本
ui->label2->setTextFormat(Qt::RichText);
ui->label2->setText("<b>这是一个富文本</b>"); // 加粗
// 把label3设置成markdown格式(这种格式有专门的设置规则,如下设置成一级标题)
ui->label3->setTextFormat(Qt::MarkdownText);
ui->label3->setText("# 这是一个markdown文本"); // 设置标题
富文本和markdown格式可自行查看,由于样式太多,这里不做说明。
图片 pixmap 和自动拉伸 scaledContents 的使用 。
label = new QLabel(this);
QRect rect = this->geometry();
label->setGeometry(0, 0, rect.width(), rect.height());
QPixmap pixmap(":/R-C.jpg");
pixmap.scaled(500, 500);
label->setPixmap(pixmap);
// 启动自动拉伸。label存放的图片根据窗口自动拉伸,此时图片就能够填充
label->setScaledContents(true);
// 通过拖拉窗口的事件来设置图片的动态大小
// event参数包含了这个 resize 事件这一时刻窗口尺寸的数值
void Widget::resizeEvent(QResizeEvent *event)
{
QSize size = event->size();
qDebug() << size;
Widget::label->setGeometry(0, 0, size.width(), size.height());
}
文本对齐 alignment 和自动换行 wordWrap 的使用。
ui->label1->setText("这是一段文本");
// Qt::AlignHCenter表示水平对齐的居中对齐;Qt::AlignVCenter表示垂直对齐的居中对齐
// 对齐常用的有AlignLeft(左对齐), AlignRight(右对齐), AlignTop(顶部对齐), AlignBottom(底部对齐)
ui->label1->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
// 设置自动换行。当文本超过部件框架时,自动换行
ui->label1->setWordWrap(true);
缩进 indent 和文本边距 margin 的使用。
// 设置缩进
ui->label2->setText("这是一段文本");
ui->label2->setIndent(50); // 整个文本缩进50像素,即所有行都缩进
// 设置边距。label2 的文本离边框的四周20像素
ui->label2->setMargin(20);
伙伴 buddy 的运用。QLabel 中写的文本是通过指定的 “快捷键” 来点击的。QLabel 中的快捷键是在文本中使用 “&” + “一个字符” 来表示的。比如:若文本中存在 &A ,那么通过 alt + a 就能触发这个快捷键。
// 设置label和radioButton的伙伴关系
ui->label1->setBuddy(ui->radioButton1);
ui->label2->setBuddy(ui->radioButton2);