Название: [решено] Вызвать диалог сразу после первой отрисовки главного окна, поверх окна Отправлено: fiery xray от Август 14, 2011, 01:37 У меня программа, которая соединяется с внешним файлом (базой данной), который лежит у неё в корне.
Я хочу, чтобы она при запуске смотрела, есть он у неё в корне или нету, и если нету, вызывала диалог "выберите файл". Она его действительно вызывает, если эту проверку осуществить, допустим, в конструкторе. Однако мне хочется, чтобы этот диалог не просто выводился в самом начале, а выводился поверх моего главного окна в самом начале. Дело в том, что если его вывести в конструкторе, тогда он выведется до вызова метода show() моего окна (это естественно). Я пробую переопределить метод showEvent, однако и этот метод вызывается до отрисовки! в документации так и написано: Non-spontaneous show events are sent to widgets immediately before they are shown ну вот, а мне хочется сразу после того как в первый раз shown я вот ещё подумал, можно таймер задействовать, а нет ли чего-нибудь поизящней? Название: Re: Вызвать диалог сразу после первой отрисовки главного окна, поверх окна Отправлено: fiery xray от Август 14, 2011, 01:43 наверно можно переопределить сам метод show в котором сначала вызвать show от класса-родителя, а затем эту проверку
updнет, плохо, метод не виртуальный. это под критерий изящности не подходит. upd2 Зато работает! ну и фиг с ним, всё равно моё окно никто в вектор запихивать не будет Название: Re: [решено] Вызвать диалог сразу после первой отрисовки главного окна, поверх окна Отправлено: fiery xray от Август 14, 2011, 02:02 всё правильно, я думаю, у нас тут не джава какая-нибудь, чтобы все подряд методы виртуальными делать
главному окну совсем не неприлично переопределить show() Название: Re: [решено] Вызвать диалог сразу после первой отрисовки главного окна, поверх окна Отправлено: LisandreL от Август 14, 2011, 03:17 show() - не виртуальный. НО show() - этот вызов setVisible( true ).
А вот setVisible - виртуальный. Название: Re: [решено] Вызвать диалог сразу после первой отрисовки главного окна, поверх окна Отправлено: fiery xray от Август 14, 2011, 16:27 да, правда.
это даже более логично - теперь проверка не при одном show() а всегда при setVisible(true) теперь всё идеально. спасибо |