QLabel 超出长度,用...来替换
关键类:
QFont — 控制字体
QFontMetrics — 字体规格
关键方法:
QFontMetrics::elidedText — 转为省略文字
QFontMetrics::width — 获取传入文字在某字体下的长度
关键枚举:
enum TextElideMode {
ElideLeft, //省略左侧文字
ElideRight, //省略右侧文字
ElideMiddle, //省略中间文字
ElideNone //不省略任何文字
};
示例:
// 获取文字字体
QString str = "";
QLabel label;
QFont font = label.font(); //获取控件的字体
QFontMetrics fontMetrics(font); //初始化字体规格
int fontsize = fontMetircs.width(str); //获取文字宽度
str = fontMetrics.elidedText(str, Qt::ElideMiddle, 100);
label.setText(str);