qt Label

main.cpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QVBoxLayout>

void testLabelVariety(QWidget *parent) {
// 使用布局,让它们自动排列
QVBoxLayout *layout = new QVBoxLayout(parent);

QLabel *txtLabel = new QLabel("这是一段普通的文字"); // 这里可以不传parent,因为下面的addWidget会自动绑定
QLabel *styleLabel = new QLabel();
styleLabel->setText("<b>加粗文字</b> <i style='color:blue;'>蓝色斜体</i>");
// 图片展示
QLabel *imgLabel = new QLabel(parent);
imgLabel->setPixmap(QPixmap(":/logo.png"));
imgLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); // 给图片加个边框

layout->addWidget(txtLabel);
layout->addWidget(styleLabel);
layout->addWidget(imgLabel);
layout->addStretch(); // 添加一个弹簧,把内容顶上去,不至于垂直居中太分散
}

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

QWidget w; // 这里用对象而不是指针更简洁
w.setWindowTitle("Label测试");
w.resize(400, 300);

testLabelVariety(&w); // 传入窗口地址作为父对象

w.show();
return a.exec();
}