![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Trisch |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
В виджетах начало координат находится в верхнем левом углу. Можно ли сделать так чтобы она находилась, к примеру, в нижнем правом углу? Если можно то как?
|
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Смотри: Система координат - Преобразования
А вообще думаю будет полезным перечитать всё, по поводу Системы координат. ![]() |
|
|
Trisch |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
Смотри: Система координат - Преобразования А вообще думаю будет полезным перечитать всё, поп поводу Системы координат. ![]() Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат((( |
|
|
wiz29 |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
Я смотрел в эту сторону))) Но в этом случае я без понятия как получит координаты мыши в новой системе координат((( Нужно просто трансформировать позицию из системы 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 |
![]()
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
А будет ли с преобразованными координатами работать такая функция как geometry()?
|
|
|
ViGOur |
![]()
Сообщение
#6
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
да, всё будет работать...
|
|
|
Trisch |
![]()
Сообщение
#7
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 379 Регистрация: 30.1.2012 Из: Запорожье Пользователь №: 3169 Спасибо сказали: 24 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#8
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.4.2025, 21:54 |