8、QT——QLabel使用小记2

前言:记录开发过程中QLabel的使用,持续更新ing...

开发平台:Win10 64位

开发环境:Qt Creator 13.0.0 

构建环境:Qt 5.15.2 +MSVC2019 64位

一、基本属性

技巧:对于Qlabel这类控件的属性有一些共同的特点,那就是set+xxx是设置这个控件的对应的属性,如果去掉set,那就是获取这个控件的对应属性。

基本功能:提供文本或图像显示,外观可以通过多种方式进行配置,QLabel 可以包含以下任何内容类型:

内容设置
纯文本通过setText()方法传递一个QString
富文本

通过setText()方法传递一个富文本QString

像素图通过 setPixmap()设置 一个 QPixmap ,用于显示图像
电影通过setMovie来设置一个QMovie类型的多媒体,用于显示动画特效
数字通过 setNum()属性显示int 或 double类型数据
啥也不显示

#include <QApplication>
#include <QLabel>
#include <QPixmap>

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

    QLabel label;
    label.setText("Hello, World!");  // 设置文本
    QPixmap pixmap("image.png");     // 加载图像
    label.setPixmap(pixmap);         // 设置图像

    label.setAlignment(Qt::AlignCenter);  // 设置对齐方式

    label.show();

    return app.exec();
}

二、功能测试

2.1 移动QLabel位置

使用QLabel的move()方法和x(),y()属性。

通过定时器去改变label的y坐标轴,使其上下移动。

QTimer *timer=new QTimer;
    timer->start(10);
    connect(timer,&QTimer::timeout,[=]{
        //ui->label->move(ui->label->x(),yValue++);
        if(!direction){
            ui->label->move(ui->label->x(),yValue++);
            if(yValue==this->y())
                direction=true;
        }else {
            ui->label->move(ui->label->x(),yValue--);
            if(yValue==0)
                direction=false;
        }

    });

2.2 设置全部QLabel样式

初始化时想要去掉QLabel的央视,在特定条件下再对QLabel进行设置

QList<QLabel *> LBlist = ui->centralwidget->findChildren<QLabel*>();
    for(auto lb :LBlist)
    {
        lb->setStyleSheet("");
    }

 通过findChildren的泛型方法获取全部的QLabel,然后循环对其样式进行设置。

有时候我们想在初始化的时候对个别的QLabel不进行设置,可以在for循环中去排除

QList<QLabel *> LBlist = ui->centralwidget->findChildren<QLabel*>();
    for(auto lb :LBlist)
    { 
        if(lb->objectName()!="label")
        {
            lb->setStyleSheet("");
        }

    }

 先判断QLabel的objectName()属性,就是对象名字,通过名字排除。

三、参考文献 

3.1 Qt——QLabel控件常见的属性、方法和信号-CSDN博客

3.2(三)Qlabel显示图片_qlabel加载图片-CSDN博客

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值