2012-07-03 2 views
0

Я создаю класс «прокрутки текста» в Qt, используя QTextEdit (только для чтения, без полос прокрутки, moveCursor) и QTimer - прост и работает.Ширина отображения QTextEdit и ширина текста

Моя проблема в том, что текст, посланный классу, короче (уже), чем поле 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