Qt控件之QLabel标签

        QLabel 是 Qt 框架中的一个基础控件,用于显示文本或图片。

1、设置文本

  • setText():设置或更改标签的文本。
QLabel *label = new QLabel();
// 设置显示的文本
label->setText("Hello Wolrld!");

// 获取文本
QString text = label->text();
  • setAlignment():设置文本的对齐方式。参数是个枚举类型
QLabel *label = new QLabel();
// 设置显示的文本
label->setText("Hello Wolrld!");

// 设置靠右侧显示文本
label->setAlignment(Qt::AlignRight);

当标签文本过长时,需要换行显示时

  • setWordWrap(bool):设置是否启用自动换行。

如果文本是纯数字可以直接使用setNum()设置,参数支持整数和浮点数

QLabel *label = new QLabel();
int n = 1000;
label->setNum(n);


double d = 100.99;
label->setNum(d);

2、设置图片

        setPixmap():设置或更改标签的图片

        setPicture():设置或更改标签的图片

        setMovie():设置git动画

QLabel *label = new QLabel(this);
QMovie *movie = new QMovie("scrolling_text.gif");
label->setMovie(movie);
movie->start();

 3、超链接

        当label的内容设置为超链接的链接时,点击后会发出信号 linkActivated

        可以绑定此信号,在槽函数中进行处理

4、滚动文本设置

        (1)可以把待滚动的文本做成gif,通过setMove设置动画方式进行设置

        (2)可以使用定时器,手动设置自

        可以设置文本的显示靠左、靠右;

        比如需要实现的文本是:祝你身体健康、万事如意。

        可以递增设置:从1个文字到2个文字到全部显示,然后进入下一个循环。

        呈现出来的效果就是文字在滚动或逐个增加文字。

QLabel *label = new QLabel(this);
QString text = "这是一段滚动显示的文本。";
int position = 0;

// 创建定时器
QTimer *timer = new QTimer(this);
timer->setInterval(100); // 设置定时器时间间隔
connect(timer, &QTimer::timeout, this, &YourClass::updateText);

// 更新文本的槽函数
void YourClass::updateText() {
    // 根据position调整显示的文本
    QString displayedText = text.mid(position, text.size());
    label->setText(displayedText);
    
    // 更新滚动位置
    if (position < text.size()) {
        position++;
    } else {
        position = 0; // 重置位置,实现循环滚动
    }
}

// 启动定时器
timer->start();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值