qt中基于宽度的字符串截断

Posted

技术标签:

【中文标题】qt中基于宽度的字符串截断【英文标题】:String truncation in qt based on width 【发布时间】:2013-04-15 14:16:23 【问题描述】:

假设我在一个可以调整大小的矩形中有一个字符串。鉴于我知道调整大小后 ractangle 的宽度,我怎样才能找到字符串的最后一个字符,如果我将字符串截断为该字符,它将适合新的(调整大小的)矩形?目前我已经在一个循环中解决了我的问题,直到我通过增量添加字符来匹配所需的矩形宽度。有没有更优雅的方式?

【问题讨论】:

【参考方案1】:

你可以使用QFontMetrics:

QFontMetrics metrics(labelText->font());
int textInPixeles = metrics.width(labelText->text());

或者你可以使用QFontMetrics::boundingRect

拥有小部件宽度、textInPixeles 和文本最后一个字符的宽度,您可以估算出您需要什么。

【讨论】:

以上是关于qt中基于宽度的字符串截断的主要内容,如果未能解决你的问题,请参考以下文章

用 CSS 截断长字符串:可行吗?

用 CSS 截断长字符串:可行吗?

限制字符串中的字符数,并截断其余字符

基于宽度截断文本的jQuery插件

用CSS截断字符串的两种实用方法

Qt QTextEdit 最大宽度的问题