QLabel 标签

1、QLabel介绍

QLabel 是 Qt 框架中的一个控件类,用于显示文本或图像。它可以在窗口或其他容器中显示静态文本,并且可以根据需要设置格式、对齐方式和尺寸。

主要作用如下:

    1.显示文本内容:QLabel 可以显示文字内容,可以用于展示标题标签说明等静态文本信息。
    2.显示图像:QLabel 还可以显示图像文件,支持多种常见的图像、动画格式,比如 png、gif等。
    3.支持富文本:QLabel 支持使用 HTML 标记语言进行文本渲染,可以通过设置富文本格式来显示更具有样式和表现力的文本内容。
    4.设置格式和方位:QLabel 具有灵活的格式化功能,可以设置字体、颜色、背景色等,还可以设置文本的对齐方式(左对齐、居中对齐、右对齐)。
    5.自动调整大小:QLabel 默认会根据其文本内容的长度和所使用的字体自动调整自身的大小。如果文本过长,可以通过设置大小策略来确定 QLabel 的最大宽度或高度。
    6.响应用户交互:QLabel 可以与用户交互,比如支持点击事件、鼠标悬停事件、上下文菜单和链接跳转等功能。
 

2、

QLabel是QT界面中的标签类,它从QFrame下继承,QLabel 类代表标签,它是一个用于显示文本或图像的窗口部件。
2.1 构造函数
QLabel 类支持以下构造函数:

QLabel(QWidget *parent = 0, Qt::WindowFlags f = 0);
QLabel(const QString &text, QWidget *parent = 0, Qt::WindowFlags f= 0);

第二个构造函数能够同时通过参数 text 给出要显示的文本,因此是最常用的构造方式。

2.2 属性

QLabel 对象的显示内容可以通过属性获取或修改,相关成员函数如下:

QString text() const; // 获取显示的文本
void setText(const QString &text); // 设置显示的文本,这是一个槽
const QPixmap *pixmap() const; // 获取显示的图像
void setPixmap(const QPixmap &pixmap); // 设置显示的图像,这时一个槽
void setNum(int num); // 设置显示的文本为代表整数 num 的字符串,这是一个槽
void setNum(double num); // 设置显示的文本为代表浮点数 num 的字符串,这是一个槽

其中进行设置的函数同时也都是槽。新设置的内容将取代原来的内容。
如下面的代码使用即可

/*头文件内容*/
    QLabel *label1;
    QLabel *label2;
    QLabel *label3;
    QLabel *label4;
    QLabel *label5;

/*设置主窗口的属性*/
    this->resize(800, 600);//设置窗口大小
    this->setWindowTitle("Qlabel");//设置窗口标题

    label1 = new QLabel("你好,Qt1",this);//使用QLabel创建一个对象,并且显示文本为“你好,Qt”,指定父对象
    label1->move(0,0);
   
    label2 = new QLabel("你好,Qt2");
    label2->setParent(this);//调用函数设置父对象
    label2->move(0,100);
    //设置文本
    label3 = new QLabel;
    label3->setText("设置文本");//设置显示的文本
    label3->setParent(this);
    label1->move(0,200);

    //Labe显示图片
    QPixmap picture1 ;
    picture1.load(":/new/prefix1/image/Luffy.png");
    label4 = new QLabel(this);
    label4->setPixmap( picture1);
    label4->setScaledContents(true);//自适应大小
    label4->resize(200, 200);
    label4->move(0,300);

    //Label显示数字
    label5 = new QLabel(this);
    label5->setNum(11.0592);
    label5->move(0,500);

注意:
Qlabel使用图片时候只需要定义一个QPixmap 对象设置好路径即可
需要包含头文件

2.3 Qlabel也可以显示一个gif的动态图

可以使用 QLabel 的成员函数 setMovie 加载动画,可以播放 gif 格式的文件

void setMovie(QMovie * movie);

首先定义 QMovied 对象,并初始化:

QMovie *movie = new QMovie(":/Mario.gif");

播放加载的动画:

movie->start();

将动画设置到 QLabel 中:

QLabel *label = new QLabel;
 label->setMovie(movie);
综述:

label6 = new QLabel(this);
QMovie *movie = new QMovie(":/new/prefix1/image/boy.gif");
movie->setSpeed(200);//设置速度
movie->start();
label6->setMovie(movie);

2.4 清空内容

void clear();//清空显示的内容

2.5 QLabel其他属性
1,alignment 属性代表内容的对齐方式,相关函数成员如下:

Qt::Alignment alignment() const; // 获取对齐方式
void setAlignment(Qt::Alignment align); // 设置对齐方式
这里的 Qt::Alignment 类型有以下取值。
1)Qt::AlignLeft::水平方向靠左。
2)Qt::AlignRight:水平方向靠右。
3)Qt::AlignHCenter:水平方向居中。
4)Qt::AlignJustify:水平方向调整间距两端对齐。
5)Qt::AlignTop:垂直方向靠上。
6)Qt::AlignButton:垂直方向靠下。
7)Qt::AlignVCenter:垂直方向居中。
8)Qt::AlignCenter:等价于 Qt::AlignHCenter | Qt::AlignVCenter。
其中一个水平方向的取值和一个垂直方向的取值可以用 “按位或” 的方式组合起来以同时指定两个方向的对齐方式。默认的对齐方式为水平靠左、垂直居中

2,indent 属性代表文本的缩进值,相关的成员函数如下:

int indent() const; // 获取文本缩进值 
void setIndex(int indent); //设置文本缩进值 

3,margin 属性代表显示内容的边距,相关的成员函数如下:

int margin() const; // 获取边距 
void setMargin(int margin); // 设置边距 

4,wordWrap 属性
代表显示的文本是否允许换行,相关的成员函数如下:

bool wordWrap() const; // 判断是否允许换行 
void setWordWrap(bool on); // 设置是否允许换行 

5,scaledContents 属性

表示显示图像时是否允许缩放,相关的成员函数如下:
bool hasScaledContenes() const; // 判断是否允许图像缩放
void setScaledContents(bool on); // 设置是否允许图像缩放
bool hasScaledContenes() const;    // 判断是否允许图像缩放
void setScaledContents(bool on);    // 设置是否允许图像缩放

如果允许缩放,则显示图像时会进行缩放以填满整个显示区域。

部分内容参考:

Qt中的Qlabel类(标签类)详解_徐kun按门铃的博客-CSDN博客

你可能感兴趣的:(#,QT常用控件,qt)