Название: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 00:32 в общем имею форму на ней расположены 4 дочерних виджета , задача получить координаты расположения дочерних элементов относительно главной формы до вывода на экран.
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: Day от Апрель 06, 2013, 11:52 Да, интересно...
geometry() срабатывает только после show() Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: Bepec от Апрель 06, 2013, 13:03 Поэтому надо использовать showEvent.
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: Day от Апрель 06, 2013, 16:13 А можно так
Код: w->show(); Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 17:45 Bepec
showEvent не проходит, пока что то более мене вразумительное удалось получит при установке фильтра сообщений и отлов QEvent::WindowActivate, главный виджет уже существует но еще не заполнен, по крайне мере отметил это дело на Windows, за другие не возьмусь утверждать , и манипуляции с ...->pos() , ... ->mapToGlobal(), ...->mapToParent() . Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 17:50 Day
show , hide ,show не возьмусь на все 100 утверждать ,но думаю будет мерцать, это не вариант, так как эти дочерние виджеты возможно будут накрыты другими . Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: kambala от Апрель 06, 2013, 18:02 можно узнать зачем это нужно? может ты неправильно подходишь к решению возникшей проблемы.
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 18:12 суть дела в следующем, прикрутить к gui Qt много поточность , каждое окно это отдельный поток, для упрощения задачи решил использовать средства предоставляемые Qt сигналы\слоты и прочее
все это дело под Windows . Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: RedDog от Апрель 06, 2013, 18:15 Хреновая идея
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 18:24 ну пишу для себя и ради эксперимента ))
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: kambala от Апрель 06, 2013, 19:33 все графические элементы живут в основном потоке. ты хочешь одновременно выводить информацию в разные окна что ли?
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 19:36 где то так
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: RedDog от Апрель 06, 2013, 19:57 Посылай сигналы из разных потоков в главный и не надо ниче городить.
Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 21:54 в общем все, как всегда, оказалось проще простого.
Координаты отображения дочернего виджета, относительно главного, до показа на экране можно получить тремя строчками : Код: QPoint qp; Название: Re: опредилить координаты дочерних виджетов до их первоначального показа на форме Отправлено: _sdn_ от Апрель 06, 2013, 21:55 тему можно считать закрытой.
|