Qt QFontMetrics :: horizontalAdvance () отсутствует для реализации редактора кода

Я реализую редактор кода для простого языка сценариев и использую пример редактора кода Qt (http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html) в качестве руководства для реализации QPlainTextEdit с номерами строк. В этом примере метод fontMetrics () базового виджета «горизонтальный_представитель» используется для запроса ширины (или, лучше, продвижения) одного символа.

Метод QFontMetrics::horizontalAdvance(QChar) (увидеть http://doc.qt.io/qt-5/qfontmetrics.html#horizontalAdvance-1) можно найти в документации Qt но моя реализация, кажется, отсутствует этот метод.

Я использую Qt 5.10.1 «msvc2017_64» в Windows 10 с Visual Studio Enterprise 2017 версии 15.7.3. Я искал в заголовках отсутствующий метод, но нашел только QTextLine::horizontalAdvance() что не то, что мне нужно.

Я заменил QFontMetrics::horizontalAdvance(QChar) позвонить с призывом к QFontMetrics::width(QChar) который работает с моим текущим шрифтом (Consolas), но я не уверен, нормально ли это для каждого возможного шрифта.

Вопрос 1) Был ли QFontMetrics :: horizontalAdvance () удален из текущей версии Qt, моя установка глючит или я что-то пропустил?

Вопрос 2) Как правильно получить аванс за определенный (непропорциональный) шрифт?

Спасибо, что прочитали это и пытаетесь помочь!

1

Решение

Как Гендиректор сказал мне в комментарии:

В документации говорится, что QFontMetrics :: horizontalAdvance (QChar) не был доступен до Qt5.11.

Так что переход на Qt 5.11 решает эту проблему.

3

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

Других решений пока нет …

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