Название: Перекрытие окон Отправлено: uriel от Май 17, 2008, 19:03 Возможно, вопрос немного глупый, но я так и не понял, в чём причина.
Имеется окно наследника QWizard, в него добавлена собственная кнопка, которая связана со слотом. В этом слоте создаётся новый виджет и вызывается для него show(). Проблема в том, что этот виджет появляется в левом верхнем углу экрана и при перемещении его в область окна QWizard'а скрывается оным. Пытался поставить ему флаг AlwaysStayOnTop - не помогло. Сходу в ассистенте не нашёл ничего подобного. Как можно задать, какое окно будет перекрывать какое? P.S. Новый виджет имеет родителем QWizard, хотя можно оставить и без предка - результат один. P.P.S. Можно ли как-то задать начальную координату окна не в координатах, а навроде Center, BottomLeft, etc? Название: Re: Перекрытие окон Отправлено: pastor от Май 17, 2008, 20:39 По поводу перекрытия: см. setWindowModality
По поводу расположения немного неясно. Где нужно расположить созданное окно? Название: Re: Перекрытие окон Отправлено: uriel от Май 17, 2008, 21:04 Модальность - это немного не то. :) Главное окно не блокирует дочернее, а всегда рисуется поверх него. Даже с установленной модальностью для дочернего.
А про расположение навеяно опять же QWizard. Простой код: Код: QWizard *wzd = new QWizard; Ради интереса, кстати, можно попробовать поперемещать окно кнопки по области мастера. Вопрос прояснится. ;) Название: Re: Перекрытие окон Отправлено: pastor от Май 18, 2008, 02:03 С перекрытием проблему можно решить например так:
Код: QWizard *wzd = new QWizard; Позицию нового окна (в данном случае это QPushButton) можно изменить так: Код: pb->move(<your_position>); ЗЫ: а что это за флаг такой AlwaysStayOnTop? в ассистанте я ненашел такого Название: Re: Перекрытие окон Отправлено: uriel от Май 18, 2008, 15:11 Имя флага набирал руками и малость перепутал, извиняюсь. :)
А у Вас-то приведённый выше код работает нормально? У меня окно мастера всё равно перекрывает кнопку. Ах да, Qt 4.4. Название: Re: Перекрытие окон Отправлено: pastor от Май 18, 2008, 15:46 Имя флага набирал руками и малость перепутал, извиняюсь. :) А у Вас-то приведённый выше код работает нормально? У меня окно мастера всё равно перекрывает кнопку. Ах да, Qt 4.4. Да, работает нормально Qt 4.3.4. На Qt 4.4.0 не проверял. Проверю отпишусь. |