BlinCT06 січня 2019 р. 12:06
Размер шрифта через QFont
Всем привет.
Сталкнулся с такой непоняткой. Рисую через QPainter текст, представляет собою время. И вместо того чтоыб при изменении размера в коде и изменении размера шрифта, у меня текст сползает в сторону.
Не понимаю что происходит. Может кто посодействует пониманию.
На скринах первый это там где я задал 25
А на этом скрине размер задан 19
И сам код
QFont outline_font("times", 19); QFontMetrics metrics(outline_font); auto time = CircleTimer::time().toString(); auto x = (width() - (static_cast<double>(metrics.horizontalAdvance(time))) / 2) / 2; auto y = (height() + (metrics.height() / 2)) / 2; painter->setPen("black"); painter->drawText(x, y , time);
Благодарю заранее.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
OI
- Ora Iro
- 24 грудня 2024 р. 14:38
C++ - Тест 001. Первая программа и типы данных
- Результат:40бали,
- Рейтинг балів-8
AD
- Akiv Doros
- 11 листопада 2024 р. 22:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
m
- molni99
- 26 жовтня 2024 р. 08:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
Останні коментарі
ИМ
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь Максимов22 листопада 2024 р. 19:51
Evgenii Legotckoi31 жовтня 2024 р. 21:37
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь Максимов05 жовтня 2024 р. 14:51
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
AW
Why Paying for a Research Paper Can Be a Smart Choice Writing a research paper can be a daunting task, especially when faced with tight deadlines, complex topics, or a lack of resources. For many students, paying for a research paper is a practical…
Ayden Watkins02 січня 2025 р. 08:09
p
Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
pimacontrols8531 грудня 2024 р. 17:39
Donald Randolph30 грудня 2024 р. 10:59
Nirvana Yoga School30 грудня 2024 р. 13:13
Привет.
Вообще у QFontMetrics нужно бы использовать метод width(), чтобы забрать ширину текста
И ещё один момент. а ты уверен, что в QFont находится правильный шрифт?
Раз уж на то пошло, то его нужно брать из QPainter, а не придумывать самому.
По поводу ширины текста, я это и делаю через metrics.horizontalAdvance(time).
Шрифт я взял из примера в оф описании на сайте. Так что как понимаю должен быть шрифт правильный.
да хрен то там. Если у тебя ОС Ubuntu, то и шрифт будет в приложении Ubuntu, с какого перепуга там будет "times"?
Шрифт нужно брать из painter,
либо предварительно устанавливать его в painter