Как сопоставить длину табуляции с количеством пробелов в Qt

У меня возникают проблемы при создании вкладок в QTextEdit того же размера, что и некоторое количество пробелов, скажем, 4.

Я использую Qt 4.8.1 на Mac и пробовал несколько разных моноширинных шрифтов. В каждом случае я пытаюсь использовать fontMetrics.width () и fontMetrics.boundingRect (). Width (). Передача » и умножение на 4 и пропуск «» возвращают мне постоянные размеры, но когда я устанавливаю ширину ограничителя табуляции, он немного отключается. Что еще хуже, ошибка накапливается. Если я наберу 6 вкладок и ниже 6 * 4 пробелов, курсор окажется в совершенно другом месте.

Даже подкорректировав число вручную, я не смог найти целое число пикселей, которое точно соответствует и сохраняет согласованность вкладок и эквивалентных пробелов.

Кто-нибудь еще сталкивался с этой проблемой? Нашли ли вы решение, кроме как заменить табуляцию пробелами?

2

Решение

Вы пытались использовать это?

QFontMetrics::tightBoundingRect("    ")

Я нашел предложение здесь, но, к сожалению, не упоминает, было ли оно успешным: http://lists.qt.nokia.com/pipermail/qt-interest/2009-June/007924.html

Пожалуйста, дайте мне знать, если это работает для вас 🙂

0

Другие решения

У меня была такая же проблема с тобой, и я звоню setTabStopWidth(4 * fontMetrics().width(' '));в конструкторе QPlainTextEdit. Но когда я вызываю его после конструктора, он может работать! Я не знаю магию этого …

0

По вопросам рекламы [email protected]