Russian Qt Forum
Октябрь 01, 2024, 00:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как узнать местоположение виджета  (Прочитано 7549 раз)
AD
Гость
« : Март 03, 2009, 10:11 »

Есть виджет, который расположен на другом виджете где-то несначала.
Как узнать его местоположение?
geometry().x(), geometry().y(), frameGeometry().x(), frameGeometry().y() - все выдают нули. Но виджет располагается далеко не в начале. Как узнать его положение?
Записан
BaltikS
Гость
« Ответ #1 : Март 03, 2009, 11:30 »

x()?
Относительно координат родителя MapToParent()
Записан
SABROG
Гость
« Ответ #2 : Март 03, 2009, 12:57 »

x()?
Относительно координат родителя MapToParent()

Я правильно понимаю логику этих методов?

Код
C++ (Qt)
QPoint point = childWidget->mapToParent(0,0);
point.x(); // предположим, что x =100, y = 100
point.y(); // это относительные координаты в клиентской области главного окна
 

Код
C++ (Qt)
QPoint point = childWidget->mapFromParent(100,100);
point.x(); // предположим, что x =0, y = 0
point.y(); // это относительные координаты в клиентской области родительского окна
 
Записан
BaltikS
Гость
« Ответ #3 : Март 03, 2009, 13:06 »

Код:
Translates the widget coordinate pos to a coordinate in the parent widget. 
Походу да... Я как то вытаскивал их давненько, код не хочется просто смотреть... Но смысл верен!
Записан
AD
Гость
« Ответ #4 : Март 03, 2009, 22:43 »

Так собственно мне и необходимо узнать этот pos. При изменении размеров он ведь меняется!!!!! Что сделать необходимо?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Март 04, 2009, 12:50 »

 BaltikS уже ответил во втором посте темы. См.:

Цитировать
QPoint QWidget::mapToParent ( const QPoint & pos ) const
Translates the widget coordinate pos to a coordinate in the parent widget.

QPoint QWidget::mapTo ( QWidget * parent, const QPoint & pos ) const
Translates the widget coordinate pos to the coordinate system of parent. The parent must not be 0 and must be a parent of the calling widget.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
AD
Гость
« Ответ #6 : Март 04, 2009, 17:03 »

Ответ неточен. Причина была в том, что pos() и прочее можно применять тогда, когда окно появилось на экране!
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Март 04, 2009, 17:12 »

Ответ неточен. Причина была в том, что pos() и прочее можно применять тогда, когда окно появилось на экране!

В твоем первом посте об этом ни слова (что виджеты скрыты), а телепаты сейчас в отпуске Подмигивающий
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 23.