当前位置:   article > 正文

Qt中的Qlabel类(标签类)详解

qlabel

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

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

其中第二个构造函数能够同时通过参数 text 给出要显示的文本,因此是最常用的构造方式。
属性
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 的字符串,这是一个槽 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

/*头文件内容*/
 	QLabel *label1;
    QLabel *label2;
    QLabel *label3;
    QLabel *label4;
    QLabel *label5;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
/*设置主窗口的属性*/
    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);
  • 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

结果为
在这里插入图片描述
注意:
Qlabel使用图片时候只需要定义一个QPixmap 对象设置好路径即可
需要包含头文件

注:Qlabel也可以显示一个gif的动态图
可以使用 QLabel 的成员函数 setMovie 加载动画,可以播放 gif 格式的文件

void setMovie(QMovie * movie)
  • 1

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

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

播放加载的动画:

movie->start();
  • 1

将动画设置到 QLabel 中:

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

清空内容

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

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。
其中一个水平方向的取值和一个垂直方向的取值可以用 “按位或” 的方式组合起来以同时指定两个方向的对齐方式。默认的对齐方式为水平靠左、垂直居中。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

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

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

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

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

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

5,scaledContents 属性

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/104593
推荐阅读
相关标签
  

闽ICP备14008679号