的QTextEdit显示宽度VS文本宽度

问题描述:

我创建Qt中的一个“滚动文本”级,使用QTextEdit(只读,没有滚动条,moveCursor)和QTimer - 简单的工作。的QTextEdit显示宽度VS文本宽度

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

任何想法? 感谢

+0

你只希望显示一些文本?那么'QLabel'将是更好的解决方案。我写了一个类来显示滚动文本:http://stackoverflow.com/questions/10651514/text-scrolling-in-qlabel/10655396#10655396 – leemes

你可以使用QFontMetrics文本的宽度:

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

问题是,如果你有多条线,所有这些都会被考虑进去宽度而不是最长的线 – mrg95