Russian Qt Forum

Qt => Общие вопросы => Тема начата: malkavian от Февраль 03, 2011, 14:33



Название: Перекрытие виджетов друг другом
Отправлено: malkavian от Февраль 03, 2011, 14:33
Здравствуйте все!

У меня возникла такая задача: есть программа на Qt. Для реализации необходимого функционала необходимо знать, перекрывает ли одно окно другое. А если быть более точным, то есть ли за произвольным окном какие-либо «спрятанные» :) Существуют ли какие-либо решения для Qt? Буду очень благодарен, если кто-нибудь подскажет.


Название: Re: Перекрытие виджетов друг другом
Отправлено: kirill от Февраль 04, 2011, 13:28
Так окна или виджеты перкрываются?
Если окна то зависит от платформы. Имеется ввиду чтоли Z-order окна? Его узнать не получится.
Короче вопрос неясен, телепатов нет.

Но предположим что тебя интересует иерархия объектов от QWidget. То есть ты хочешь узнать всех чайлдов от некого виджета. Тогда надо использовать
const QObjectList & QObject::children () const


Название: Re: Перекрытие виджетов друг другом
Отправлено: malkavian от Февраль 05, 2011, 18:59
Так окна или виджеты перкрываются?
Если окна то зависит от платформы. Имеется ввиду чтоли Z-order окна? Его узнать не получится.
Да, именно Z-order окна я и имел в виду. Спасибо, что поправили. И, если не сложно, то можно уточнить: не получится узнать средствами Qt или в принципе не получится даже какими-либо сторонними средствами?


Название: Re: Перекрытие виджетов друг другом
Отправлено: kirill от Февраль 07, 2011, 08:03
Так окна или виджеты перкрываются?
Если окна то зависит от платформы. Имеется ввиду чтоли Z-order окна? Его узнать не получится.
Да, именно Z-order окна я и имел в виду. Спасибо, что поправили. И, если не сложно, то можно уточнить: не получится узнать средствами Qt или в принципе не получится даже какими-либо сторонними средствами?

Use the GetTopWindow/GetNextWindow functions; from MSDN:



Название: Re: Перекрытие виджетов друг другом
Отправлено: malkavian от Февраль 07, 2011, 19:24
Use the GetTopWindow/GetNextWindow functions; from MSDN:
А под Mac OS X? :)


Название: Re: Перекрытие виджетов друг другом
Отправлено: Igors от Февраль 07, 2011, 19:55
Use the GetTopWindow/GetNextWindow functions; from MSDN:
А под Mac OS X? :)
Ой напугал  :) Да то же самое: FrontWindow/GetNextWindow (from Apple)


Название: Re: Перекрытие виджетов друг другом
Отправлено: malkavian от Февраль 10, 2011, 16:59
Большое всем спасибо за ответы!