BlinCTҚаң. 6, 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 хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
Г
- Геній
- Қыр. 13, 2024, 12:46 Т.Қ.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:66ұпай,
- Бағалау ұпайлары-1
t
- torgaev_2024
- Қыр. 8, 2024, 6:20 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:33ұпай,
- Бағалау ұпайлары-10
Соңғы пікірлер
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
ВР
Linux жүйесінде файлдарды қалай көшіруге болады Screenshot_20240802-065123.png
Влад РусоковТам. 2, 2024, 1:47 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Енді форумда талқылаңыз
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCTМаусым 25, 2024, 1 Т.Ж.
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Привет.
Вообще у QFontMetrics нужно бы использовать метод width(), чтобы забрать ширину текста
И ещё один момент. а ты уверен, что в QFont находится правильный шрифт?
Раз уж на то пошло, то его нужно брать из QPainter, а не придумывать самому.
По поводу ширины текста, я это и делаю через metrics.horizontalAdvance(time).
Шрифт я взял из примера в оф описании на сайте. Так что как понимаю должен быть шрифт правильный.
да хрен то там. Если у тебя ОС Ubuntu, то и шрифт будет в приложении Ubuntu, с какого перепуга там будет "times"?
Шрифт нужно брать из painter,
либо предварительно устанавливать его в painter