Russian Qt Forum
Ноябрь 24, 2024, 06:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Qt 4.2.0] qApp->aboutQt() закрывает приложение  (Прочитано 5287 раз)
Myav
Гость
« : Декабрь 22, 2006, 00:38 »

Странное дело, после нажатия на "OK" в диалоге aboutQt() приложение закрывается =) Может быть потому, что в приложении нет ни одного QWidget?

Точка входа в приложение:
Код:
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    TrayIcon trayIcon;
    trayIcon.show();
    return app.exec();
}


TrayIcon.h:
Код:
class TrayIcon: public QSystemTrayIcon
{
Q_OBJECT

public:
TrayIcon(QWidget *parent = 0);
~TrayIcon();

private:
QAction *bugAction;
QMenu *trayIconMenu;
};


TrayIcon.cpp:
Код:
TrayIcon::TrayIcon(QWidget *parent): QSystemTrayIcon(QIcon(":/Images/SomeIcon.png"), parent)
{
bugAction = new QAction("Bug...", this);
connect(bugAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));

trayIconMenu = new QMenu();
trayIconMenu->addAction(bugAction);
setContextMenu(trayIconMenu);
}

TrayIcon::~TrayIcon()
{
delete trayIconMenu;
}
Записан
Вудруф
Гость
« Ответ #1 : Декабрь 22, 2006, 08:49 »

В TrayIcon.cpp, видимо, пропущена строка:
Код:
TrayIcon::TrayIcon (QWidget *parent) :


добавлено спустя 49 минут:

 
Цитировать
Может быть потому, что в приложении нет ни одного QWidget?

Мне почему-то тоже так кажется.
Записан
Myav
Гость
« Ответ #2 : Декабрь 22, 2006, 12:11 »

Цитировать
В TrayIcon.cpp, видимо, пропущена строка:

Исправил.
Записан
Dendy
Гость
« Ответ #3 : Декабрь 22, 2006, 16:40 »

Добавь в main()

Код:
app.setQuitOnLastWindowClosed( false );


По умолчанию стоит true, закрьІвается окно - закрьІвается приложение. А так как у тебя приложение в какой-то может жить без окон, только в трее, то тебе вариант по умолчанию не подходит. Ибо первьІй же диалог при закрьІтии отошлёт QApplicationquit().
Записан
Myav
Гость
« Ответ #4 : Декабрь 24, 2006, 02:19 »

Dendy, спасибо. Вы очень выручательный форумчанин Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 21.