Qt中使用QLabel添加图片和文字的使用

当前文章分为了两部分:1、QLabel添加图片使用;2、QLabel中显示文字

1:QLabel中添加图片

假设图片的路径 path = "D:\\Test\1.png";

简单的进行图片加载,代码如下:

QString spath = "D:\\Test\\1.png";
QPixmap picPixmap;
picPixmap.load(spath);
ui.labPicture->setPixmap(picPixmap);

使用这种方法有个弊端,QLabel控件的大小必须与图片的大小一致,否则显示不全。

所以,引出下面一个功能,需要对图片进行缩放,按照比例进行缩放

QString spath = "D:\\Test\\1.png";
QPixmap picPixmap;
picPixmap.load(spath);
//按照比例缩放
QPixmap TempPixmap = picPixmap.scaled(ui.labPicture->width(), ui.labPicture->height(),Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui.labPicture->setScaledContents(true);
ui.labPicture->setPixmap(TempPixmap);

2:QLabel中显示文字

简单使用,如下:

ui.labPicture->setText("123");

这样的写法只适用于数字与英文,如果要添加中文显示,需要使用下面的写法,如下:

ui.labPicture->setText(QStringLiteral("你好"));

在很多情况下,显示的文字太多,需要进行换行显示,使用方法如下:

QString qsDescribe = "需要显示的文字信息";
ui.labText->setFixedWidth(200); //设置最大显示的宽度
ui.labText->setText(qsDescribe);
ui.labText->setWordWrap(true); //开启:自动识别文本内容的大小
ui.labText->adjustSize();
int nlabHeight = ui.labText->height(); //获取当前文本应该显示的高度
//根据高度、宽度,重新规划控件的区域
ui.labText(10, 10, 200, nlabHeight);

 

你可能感兴趣的:(Qt,qt)