0
假设我可以调整大小的矩形中的字符串。鉴于我知道调整大小后矩形的宽度发生,我怎么能找到字符串的最后一个字符,如果我截断字符串到该字符它将适合新(调整大小)的矩形?目前我已经在循环中解决了我的问题,直到我通过增加字符来匹配所需的矩形宽度。有没有更优雅的方式?基于宽度的qt中的字符串截断
假设我可以调整大小的矩形中的字符串。鉴于我知道调整大小后矩形的宽度发生,我怎么能找到字符串的最后一个字符,如果我截断字符串到该字符它将适合新(调整大小)的矩形?目前我已经在循环中解决了我的问题,直到我通过增加字符来匹配所需的矩形宽度。有没有更优雅的方式?基于宽度的qt中的字符串截断
您可以使用QFontMetrics
:
QFontMetrics metrics(labelText->font());
int textInPixeles = metrics.width(labelText->text());
,或者您可以使用QFontMetrics::boundingRect
。
拥有小部件宽度,textInPixeles
和文本的最后一个字符的宽度,您可以估计你需要什么。