crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Вызов окна от QMainWindow
KLIF
  опции профиля:
сообщение 24.10.2010, 12:39
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


У меня проект от QMainWindow в нем вызываю еще одно окно если оно наследуется от QDialog я делаю так :
void DemAstPro::on_action_10_stvor_faile_triggered()
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
        Create_f_DemAsT w;
        w.setParent(this,Qt::Dialog);
        w.setWindowModality(Qt::ApplicationModal);
        w.show();
        w.exec();
        return;
}

и в этом случае все ок и все вполне реагирует нормально...
Мне нужно наследовать его от QMainWindow то так у меня не получается.....
И я не знаю как мое окно вызвать....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 24.10.2010, 17:52
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(KLIF @ 24.10.2010, 20:39) *
вернее появляется на пол секунды и закрывается... я не успеваю даже увидеть что оно отображает...
Цитата(Litkevich Yuriy @ 24.10.2010, 16:15) *
QMainWindow не наследник QDialog и у него нет метода exec()
соответственно и нет собственного цикла обработки событий.
Твой код:
void DemAstPro::on_action_10_stvor_faile_triggered()
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
        Create_f_DemAsT w;
        w.setParent(this,Qt::Dialog);
        w.setWindowModality(Qt::ApplicationModal);
        w.show();
        // w.exec(); - такого метода нет
        return;
}
Объект w, был создан, что-то ещё, затем вызван метод show(), этот метод отработал. Дальше написано return т.е. функция завершается. А раз функция завершается, то объект, созданный на стеке, тут же удаляется.

П.С.
Класс QMainWindow придуман для вполне очевидной цели, зачем пытаться сделать из него диалоговое окно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 9:37