Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4] закрыть приложение, qwidget 
:(
    Опции темы
fearuth
Дата 28.8.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.9.2008

Репутация: нет
Всего: 1



Привет Всем, хочу сделать приложение на весь экран. При старте программа проверяет наличие настроек при помощи QSettings, если основные поля пусты, то выскакивает QMessageBox (и говорит, хотите настроить приложение (да, нет)). Если пользователь выбирает Нет, то приложение должно закрыться. Сделал все, кроме закрытия приложение при нажатии "Нет"...
Подскажите как это сделать?
PM MAIL   Вверх
Avaj
Дата 28.8.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Почему не воспользоваться обычным способом?

Код


QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));


PM MAIL   Вверх
fearuth
Дата 28.8.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.9.2008

Репутация: нет
Всего: 1



Как это может быть прикручено к этому?

Код

    QMessageBox quest;
    int rez;
    if(this->settings->value("db/path2base").toString()=="")
    {
        rez=quest.information(0,"Первый запуск",
                                "Программа запускается впервые! Для того, чтобы\n"
                                "продолжить работу, Вам необходимо указать неко-\n"
                                "торые параметры.",
                                 QMessageBox::Ok,QMessageBox::Cancel);
        switch(rez)
        {
            case QMessageBox::Ok:
                qDebug()<<"Ok";
                break;
            case QMessageBox::Cancel:
                qDebug()<<"Cancel";
                break;
        }
    }

PM MAIL   Вверх
Avaj
Дата 28.8.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Так это приложение без GUI ? 

Тогда конечно connect тут не катит.
PM MAIL   Вверх
fearuth
Дата 28.8.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.9.2008

Репутация: нет
Всего: 1



С гую, проблему эту решил.

Теперь еще вопрос, как перехватить нажатие alt+f4 и не дать программе закрыться (при нажатии этой комбинации)?
PM MAIL   Вверх
ecspertiza
Дата 28.8.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(fearuth @  28.8.2009,  10:45 Найти цитируемый пост)
Как это может быть прикручено к этому?


Как то так

Код

    QMessageBox quest;
    int rez;
    if(this->settings->value("db/path2base").toString()=="")
    {
        rez=quest.information(0,"Первый запуск",
                                "Программа запускается впервые! Для того, чтобы\n"
                                "продолжить работу, Вам необходимо указать неко-\n"
                                "торые параметры.",
                                 QMessageBox::Ok,QMessageBox::Cancel);
        switch(rez)
        {
            case QMessageBox::Ok:
                qDebug()<<"Ok";
                break;
            case QMessageBox::Cancel:
                qDebug()<<"Cancel";
                QApplication::quit();
                break;
        }
    }


а Alt+F4 попробуй переопредели процедуру virtual void keyPressEvent ( QKeyEvent * event ), должно помочь.



--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Любитель
Дата 28.8.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(fearuth @  28.8.2009,  11:54 Найти цитируемый пост)
как перехватить нажатие alt+f4 и не дать программе закрыться (при нажатии этой комбинации)? 

Внутри QMessageBox-а или в своём окне?


--------------------
PM MAIL ICQ Skype   Вверх
fearuth
Дата 28.8.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.9.2008

Репутация: нет
Всего: 1



В главном окне
PM MAIL   Вверх
Любитель
Дата 28.8.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Тогда переопределяй closeEvent.


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.