Как узнать местоположение виджета |
Здравствуйте, гость ( Вход | Регистрация )
Как узнать местоположение виджета |
AD |
2.3.2009, 0:31
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть виджет, который расположен на другом виджете где-то несначала.
Как узнать его местоположение? geometry().x(), geometry().y(), frameGeometry().x(), frameGeometry().y() - все выдают нули. Но виджет располагается далеко не в начале. Как узнать его положение? Вот прилагаю рисунок. Обведенный виджет - это тот, чье расположение хочется узнать![attachment=463:geometry.JPG] |
|
|
SABROG |
4.3.2009, 13:10
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
А зачем SaharaInit координаты виджета?
|
|
|
AD |
4.3.2009, 13:26
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата(SABROG) А зачем SaharaInit координаты виджета? Тем самым определяются, куда эту карту рисовать. Что неясного-то? |
|
|
AD |
4.3.2009, 13:49
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вот некоторая реализация отрисовки карты:
Sahara
Вот именно этой функцией и происходит само рисование: void SubSahara::Draw(HDC hdc) Цитата(Litkevich Yuriy) дак ты ее не клади как в WinAPI по координатам, если она картинка - устанвливай ее в объект QLable, а его суй в компоновщик нужного виджета. Я привел кусок кода, который выполняет отрисовку. Подскажи, пожалуйста, как изменить функции таким образом, чтобы можно было избавиться от этого WINAPI-кода. Тогда в моем другом проекте (TLV, результаты которого я приводил) я избавлюсь от кода, зависящего от Widows! Сообщение отредактировал AD - 4.3.2009, 13:53 |
|
|
Текстовая версия | Сейчас: 29.11.2024, 8:42 |