Вращение текста в графическом представлении, QGraphicsItem и drawText |
Здравствуйте, гость ( Вход | Регистрация )
Вращение текста в графическом представлении, QGraphicsItem и drawText |
r485_post |
31.7.2009, 13:59
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
Хочу спросить еще про функцию drawText следующее:
в классе QGraphicsItem переопределяю метод paint painter->rotate(изменяемый во времени угол); painter->drawText(-100, -100, "Текстовая строка"); Т.е. пользователь видит как с некой скоростью на экране поворачивается строка. Но буквы в самой строке при этом пляшут относительно друг друга как живые. Смотреть на эти танцы невозможно. Если повернуть, нарисовать и оставить - все прекрасно. Но как только динамически начинаешь крутить строку, происходит "ЭТО". Похоже на автоформатирование текста по ширине. Кто сталкивался с таким? Как это убрать? |
|
|
ufna |
31.7.2009, 14:07
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
подожди, ты рисуешь каждый раз из разных мест, получается. Точка (-100, -100) каждый раз реально находится в совершенно разных местах, т.к. она считается в уже повернутой системе координат.
тебе нужно
Сообщение отредактировал Litkevich Yuriy - 31.7.2009, 18:05
Причина редактирования: используй тэг code
|
|
|
r485_post |
31.7.2009, 14:29
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
я именно это и делаю. Каждый раз при новом повороте текст будет в новой точке. Например я поворачиваю шкалу. Текст будет вращаться по окружности (а не относительно точки). Но проблема не в этом, а в том что внутри текста буквы дергаются отсительно друг друга.
На это нужно посмотреть. Создай итем и добавь в графиксвью. А потом по таймеру покрути текст. Займет несколько минут. |
|
|
kwisp |
31.7.2009, 14:40
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
r485_post |
31.7.2009, 15:11
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вот набросал наглядный пример, но не могу загрузить (пишет " Неудачная загрузка. Вам запрещено загружать такой тип файлов").
А насчет новой темы я непротив. Просто тема называлась обощенно. |
|
|
kwisp |
31.7.2009, 15:17
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
r485_post,
ну так выложи код не забудь только его експанд сделать, я не помню может тебе еще нельзя файлы выгружать. |
|
|
r485_post |
31.7.2009, 15:29
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
rotate.pro
item.cpp
item.h
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
ui_mainwindow.h
Сообщение отредактировал Litkevich Yuriy - 31.7.2009, 18:25
Причина редактирования: используй тэги code и expand
|
|
|
Litkevich Yuriy |
31.7.2009, 18:15
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
r485_post, См. Справка по кнопкам и тэгам форума
|
|
|
r485_post |
26.10.2009, 21:19
Сообщение
#9
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0 |
проблема дергающихся букв решена следующим образом:
функцию drawText не используем |
|
|
Текстовая версия | Сейчас: 26.12.2024, 16:48 |