QLabel标签内容过长怎么用省略号代替

标签内容比较长,如下所示:
在这里插入图片描述

设置内容省略代码:

	QString content = "123456789,123456789,123456789";

    QString s = ui->label->fontMetrics().elidedText(content,Qt::ElideRight,ui->label->width());
    ui->label->setText(s);
    ui->label->adjustSize();    //根据内容调整label大小

设置效果图:
在这里插入图片描述
这个效果的核心是标签所调用的 fontMetrics() 函数,它的返回值是 QFontMetrics 类(字体体积相关类),这个类的方法 elidedText() 可设置文本的省略模式。

QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0);
// 第一个参数是设置省略的内容(字符串)
// 第二个参数是省略的模式
// 第三个参数是省略的宽度
// 第四个参数当前只有一个固定的不管

省略模式枚举:

Qt::ElideLeft 省略号出现在内容的开头
Qt::ElideRight 省略号出现在内容的末尾
Qt::ElideMiddle 省略号出现在内容的中间
Qt::ElideNone 没有省略号

详细内容可查询 Qt助手

猜你喜欢

转载自blog.csdn.net/qq_45337964/article/details/120598161