Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: neosapient от Январь 12, 2009, 18:57



Название: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: neosapient от Январь 12, 2009, 18:57
Здравствуйте.

Не могу понять странного поведения окон, они создаются и как будто сразу убиваются.
Есть приложение написанное на QT4.
В нем асинхронно, то есть по нажатию кнопки, создается окно. Точнее, при инициализации программы (в самом начале main) создается класс окна. Затем уже по нажатию кнопки создается само окно.
Дело в том, что это окно даже мелькает на долю секунды, но затем оно как бы "убивается" (закрывается). Вот я и начинаю грешить на QT4.

Что скажете? Закрывает ли QT4 окна, созданные через CreateWindow ?
Как это обойти ?


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: ритт от Январь 12, 2009, 19:05
классное описание.
давай код


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: SABROG от Январь 12, 2009, 20:05
Что скажете? Закрывает ли QT4 окна, созданные через CreateWindow ?
Как это обойти ?

Спецом окна создаешь через CreateWindow ?


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: break от Январь 12, 2009, 21:12
Цитировать
В нем асинхронно, то есть по нажатию кнопки, создается окно. Точнее, при инициализации программы (в самом начале main) создается класс окна. Затем уже по нажатию кнопки создается само окно.

??? По нажатию какой кнопки? Что значит создается класс окна -а потом уже само окно? Вы имеете ввиду тип данных (класс окна) и экземпляры объектов этого типа (само окно)?
Предположительно такое ощущение что вы пытаетесь без QApplication что ли приложение с GUI писать... Если да то наверное не будет работать т.к. окнам надо получать события от ОС - то есть главный цикл приложения - и т.д....


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: vaprele07 от Январь 13, 2009, 03:05
ShowWindow, ну и правильно реализовать оконную функцию.


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: developer от Январь 14, 2009, 00:52
Окно будет мелькать если его создавать в стэку, а не динамически.


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: vaprele07 от Январь 14, 2009, 05:45
нет это просто баг винды. у меня тоже мигало... надеюсь тут про винапи вопрос был?


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: break от Январь 14, 2009, 13:35
Цитировать
нет это просто баг винды. у меня тоже мигало... надеюсь тут про винапи вопрос был?

Куинды это глюк! Где код? По вашему QT вообще нерабочая библиотека - там же окна сами по себе открываюся и закрываются.

Сам лично несколько проектов с окошками компилял в Windows и Linux - и все работало корректно - так что думайте сами...


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: Tonal от Январь 16, 2009, 09:07
Интересно, зачем создавать окошко через WinApi в приложении на Qt?
Ну и бага скорее всего в 17той строке. Хотя может и в 49 :)


Название: Re: Закрывает ли QT4 окна, созданные через CreateWindow ? Как это обойти ?
Отправлено: pastor от Январь 16, 2009, 11:58
Интересно, зачем создавать окошко через WinApi в приложении на Qt?

+1.

Что мешает создать окно средствами Qt? Накой юзать гиморное апи? Что за задача такая, что требует использования апи?

Ну и бага скорее всего в 17той строке. Хотя может и в 49 :)

А я думаю в 52, хотя могу ошибаться ;)