美文网首页
Qt绘制文本长度超宽处理

Qt绘制文本长度超宽处理

作者: BrokenRainK | 来源:发表于2021-05-11 15:32 被阅读0次

在绘制文本时经常会遇到文本长度不确定,导致绘制宽度无法确定的问题。
一般这种我都是设置一个固定的绘制宽度,显示部分文本,显示不足部分用省略号表示。

QString Tool::getElidedText(QFont font, QString str, int MaxWidth) const
{
    QFontMetrics fontWidth(font);
    int width = fontWidth.width(str);    //计算字符串宽度
    if (width >= MaxWidth)               //当字符串宽度大于最大宽度时进行转换
    {
        str = fontWidth.elidedText(str, Qt::ElideRight, MaxWidth);  //右部显示省略号
    }
    return str; 
}

省略号位置可以设置, 修改fontWidth.elidedText(str, Qt::ElideRight, MaxWidth)Qt::ElideRight参数即可

enum TextElideMode 
{
  ElideLeft,      //省略号在左侧
  ElideRight,     //省略号在右侧
  ElideMiddle,    //省略号在中间
  ElideNone       //无省略号
};

相关文章

  • Qt绘制文本长度超宽处理

    在绘制文本时经常会遇到文本长度不确定,导致绘制宽度无法确定的问题。一般这种我都是设置一个固定的绘制宽度,显示部分文...

  • 性能优化

    尽量把耗时的操作放到子线程 1、文本处理(尺寸计算,绘制) 2、图片处理(解码、绘制) 子线程解码,绘制 主线程...

  • 绘图

    Qt--基础图形绘制 QT基础(三)----QPainter画图功能 & 画图小项目

  • string字符串对象

    String 对象 String 对象用于处理文本 创建 String 对象 对象属性 获取字符串长度: 对象方法...

  • qt FFmpeg Mac symbol(s) not foun

    MacOS Big Sur (intel 的处理器) QT Qt Creator 4.8.2Based on Qt...

  • 关于在Canvas指定位置绘制文本的计算

    绘制文本api 在Canvas上绘制文本使用的apiCanvas.drawText(text,baselineX,...

  • 23--Qt Quick事件处理---鼠标

    标签(空格分隔): Qt 桌面开发,难免要处理鼠标事件的例子。 变色矩形的例子 运行效果,上面的代码仅仅是绘制一个...

  • CSS 溢出文本省略号显示

    单行 多行 当我们使用 CSS 构建布局时,考虑长短文本内容很重要,如果能清楚地知道当文本长度变化时需要怎么处理,...

  • 一个 Qt 事件对象的旅行

    Qt 的事件来自操作系统,Qt自己产生。当Qt应用程序运行时,qt有一个未处理的事件队列,每个事件处理周期内,将处...

  • 记录canvas学习3

    1.文本绘制 1.1绘制方法 strokeText(text,x,y) 描边文本fillText(text,x,...

网友评论

      本文标题:Qt绘制文本长度超宽处理

      本文链接:https://www.haomeiwen.com/subject/iuzgdltx.html