【问题标题】:QTextEdit display width vs text widthQTextEdit 显示宽度与文本宽度
【发布时间】:2012-07-03 18:58:45
【问题描述】:

我正在 Qt 中创建一个“滚动文本”类,使用 QTextEdit(只读,无滚动条,moveCursor)和 QTimer - 简单且有效。

我的问题是发送给班级的文本比 QTextEdit-box 短(窄)。 傻,我同意,但是,作为 Qt 的新手,我没有找到一种简单的方法来比较给定文本的宽度(取决于字体)和可以在 QTextEdit 内显示的实际宽度(计算后FrameStyle 等)。我想我需要计算像素。

有什么想法吗? 谢谢

【问题讨论】:

标签: qt qtextedit qfontmetrics


【解决方案1】:

您可以使用QFontMetrics获取文本的宽度:

int textWidth = myTextEdit->fontMetrics().width(myTextEdit->text());

【讨论】:

  • 问题是,如果你有多条线,它们都会被计入宽度而不是最长的线