2012-07-03 56 views
0

我創建Qt中的一個「滾動文本」級,使用QTextEdit(只讀,沒有滾動條,moveCursor)和QTimer - 簡單的工作。的QTextEdit顯示寬度VS文本寬度

我的問題是發送到課堂的文本比QTextEdit框更短(更窄)。 傻,我同意,但是,作爲Qt新手,我沒有找到一個簡單的方法來比較給定文本的寬度(取決於字體)和實際寬度,可以顯示在QTextEdit(計算FrameStyle等)。我認爲我需要計算像素。

任何想法? 感謝

+0

你只希望顯示一些文本?那麼'QLabel'將是更好的解決方案。我寫了一個類來顯示滾動文本:http://stackoverflow.com/questions/10651514/text-scrolling-in-qlabel/10655396#10655396 – leemes

回答

2

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

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

問題是,如果你有多條線,所有這些都會被考慮進去寬度而不是最長的線 – mrg95