Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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:29) Link На это нужно посмотреть. Создай итем и добавь в графиксвью. А потом по таймеру покрути текст. Займет несколько минут. выложи свой код, займет меньше времени. Сообщение отредактировал kwisp - 31.7.2009, 14:40 |
|
|
|
|
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, См. Link
|
|
|
|
|
r485_post |
26.10.2009, 21:19
Сообщение
#9
|
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 31.7.2009 Пользователь №: 970 Спасибо сказали: 0 раз(а) Репутация: 0
|
проблема дергающихся букв решена следующим образом:
функцию drawText не используем |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 9.1.2026, 5:27 |