label qt 自动换行_Qt之QLabel

本文总结了Qt中QLabel的多种使用方法,包括设置对齐方式、自动换行、调整行高、文字省略、垂直显示、显示图像以及使用动画效果。此外,还提供了显示一段时间后消失的提示信息的实现方法。
摘要由CSDN通过智能技术生成

这边整理一下由这篇文章中汇总的几个用法,因为代码还算是比较简单的,所以我就不重复了。

对齐方式

setAlignment(Qt::AlignCenter);

setStyleSheet("qproperty-alignment: 'AlignBottom | AlignRight';");

自动换行

setWordWrap(true);

设置行高

QString strHeightText = "

%2

";

这个是通过html语言来实现行高的

省略

QString strElidedText = pLabel->fontMetrics().elidedText(strText, Qt::ElideRight, 200, Qt::TextShowMnemonic);

垂直显示

pLabel->setText(strText.split("", QString::SkipEmptyParts).join("\n"));

pLabel->setAlignment(Qt::AlignCenter);

一般是水平显示,这个主要是在每个字后面添加换行符

图像

QPixmap pixmap(":/Images/logo");

pLabel->setPixmap(pixmap);

pLabel->setFixedSize(100, 100);

pLabel->setScaledContents(true);

动画

QMovie *pMovie = new QMovie(":/Images/movie");

pLabel->setMovie(pMovie);

pLabel->setFixedSize(135, 200);

pLabel->setScaledContents(true);

pMovie->start();

一些有关QLabel的简单用法

显示一段时间后消失的label框

主要适用于提示信息,有些类似于web的消息提示。

static void ShowMsg(QLabel *msg,QString str="",int timer = 2000)

{

msg->setText(str);

msg->show();

QEventLoop loop;

QTimer countTimer;

connect(&countTimer,SIGNAL(timeout()),&loop,SLOT(quit()));

countTimer.start(timer);

loop.exec();

msg->hide();

}

后续可以添加成为从右端划入显示,过一段时间自动消失。

Qt有很多的效果都可以参照web里面的效果来进行实现,比如下面的提示框的Qss

color: rgb(101, 113, 128);

padding:5px;

border:1px solid #ddd;

border-left: 4px solid #39f;

4f0bd7cc613d

snipaste_20170407_160812.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值