Здравствуйте, гость ( Вход | Регистрация )
|
Trisch |
30.5.2012, 16:08
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
В виджетах начало координат находится в верхнем левом углу. Можно ли сделать так чтобы она находилась, к примеру, в нижнем правом углу? Если можно то как?
|
|
|
|
![]() |
|
ViGOur |
30.5.2012, 17:11
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40
|
Смотри: Link
А вообще думаю будет полезным перечитать всё, по поводу Системы координат. |
|
|
|
|
Trisch |
31.5.2012, 11:27
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: 0
|
Цитата(ViGOur @ 30.5.2012, 17:11) Link Смотри: Link А вообще думаю будет полезным перечитать всё, поп поводу Системы координат. Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат((( |
|
|
|
|
wiz29 |
31.5.2012, 12:35
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Цитата(Trisch @ 31.5.2012, 12:27) Link Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат((( Нужно просто трансформировать позицию из системы T1(начальная система координат с началом в левом верхнем углу) в систему Т2 (новая система координат) Например: есть экран size == (200, 100) пусть Т1 - нормальная оконная система координат (с центром в левом верхнем углу и осью У направленной вниз) пусть Т2 - новая система координат (с началом в левом нижнем углу и осью У направленной вверх) тогда матрица трансформации для перехода из Т1 в Т2 будет иметь след вид. QTransform transform; transform.translate(0, 100); transform.scale(1.0, -1.0); далее трансформации позиции в новую систему координат: QPoint mousePosT1 = ...; QPoint mousePosT2 = transform.map(mousePos); если надо получить обратно то: QPoint posT2 = ...; QPoint posT1 = transform.inverted().map(posT2); (в случае переноса системы координат с использованием невырожденных аффинных преобразований обратное преобразование всегда существует) Сообщение отредактировал wiz29 - 31.5.2012, 12:37 |
|
|
|
Trisch Изменение системы координат 30.5.2012, 16:08
Trisch А будет ли с преобразованными координатами работат... 31.5.2012, 15:01
ViGOur да, всё будет работать... 31.5.2012, 15:02
Trisch Цитата(ViGOur @ 31.5.2012, 15:02) да, всё... 31.5.2012, 15:23
ViGOur Цитата(ViGOur @ 31.5.2012, 16:02) да, всё... 31.5.2012, 15:31![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 14:53 |