Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT4] не видно приложения на панели задач


Автор: Programister0 1.12.2007, 17:13
это продолжение истории про программу которая когда-то висела в процессах,
сейчас хочу заставить её появиться на панели задач, как все "норм-е" приложения.

программа запускается нормально, и видно её и на панели и в диспечере, но сразу после закрытия первого QDialog окна исчезает, после этого и QMainWindow и остальные окна работают "без приложения" в процессах.

вот main:
Код

#include ...

int main(int argc,char **argv)
{
    QApplication app(argc, argv);
...
    frmDlg dlg;
    dlg.show();
    return app.exec();
    
}
 
вот и после метода hide(); или setVisible(0); для frmDlg программа пропадает с панели задач и из приложений диспечера.

Автор: Любитель 1.12.2007, 17:56
Попробуй к windowsFlags этих диалогов/окон добавить Qt::WindowSystemMenuHint (я сейчас проверить не могу).

Автор: archimed7592 1.12.2007, 23:06
Цитата(Programister0 @  1.12.2007,  17:13 Найти цитируемый пост)
"без приложения" в процессах.

Мне кажется что это что-то из разряда фантастики - для получение такого эффекта хорошо постараться нужно smile.

Автор: Любитель 1.12.2007, 23:10
Если я правильно понял, речь про вкладку "Приложения" (+ таскбар) виндового таск-менеджера. Не показывать в процессах - конечно требует издевательств smile

Автор: archimed7592 2.12.2007, 08:39
Ах, вот вы о чём smile... Уже сто лет в обед, как пересел на process explorer, так что, как выглядит родной таск-менеджер, даже не помню smile.
Кстати, всем http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx - оч удобная штуковина, особенно радует галочка "заменить родной таск-менеджер" smile.

Автор: Programister0 2.12.2007, 09:05
да я тоже им пользовался(он у меня вместе с XP Piter Pen Edition шол), 
но сейчас проблема с приложением которое работает только как процесс после hide(); для первого QDialog окна!

Автор: archimed7592 2.12.2007, 09:22
Programister0, постарайся локализовать проблему и привести самый минимальный код при котором такое поведение сохраняется. В принципе, вырезая из своего кода неактуальные на твой взгляд куски, ты, возможно, сам найдёшь проблему. Если не найдёшь, то выкладывай этот, по максимум урезанный код - без него сказать сложно, ибо неизвестно, что ты там и с чем намудрил.

Автор: Любитель 2.12.2007, 10:56
Programister0, винда отображает то-левел окна в таскбаре и списке "приложений" таск-менеджера, только если у окна есть систем-меню (иконка в углу + менюшка на клик по ней). В КуТе последнее достигается флагом Qt::WindowSystemMenuHint (w->setWindowFlags(w->windowFlags() | Qt::WindowSystemMenuHint). У тебя всегда должно быть хотя бы одно окошко с этим флагом для отображения на таскбаре и т. д.


[offtop]
Цитата(archimed7592 @  2.12.2007,  08:39 Найти цитируемый пост)
Уже сто лет в обед, как пересел на process explorer

Цитата(archimed7592 @  2.12.2007,  08:39 Найти цитируемый пост)
Кстати, всем рекомендую

Уже сто лет в обед, как пересел на gentoo...
[/offtop]

Автор: indigon 4.1.2008, 18:31
Думаю проблема в том, что у диалога установлен флаг Qt::Tool. smile

Автор: archimed7592 4.1.2008, 21:00
Привет, ViGOur smile.

Автор: indigon 4.1.2008, 21:06
Привет archimed7592, пропалил Ip'шник? smile

Автор: archimed7592 4.1.2008, 21:09
Ага, предохраняться нужно smile.

Автор: indigon 4.1.2008, 21:15
Да ладно, для чего? smile
Если тебя смущает то, что я под другим ником, то могу сказать, что это один из моих ников...

p.s. ладно хорош флеймить... smile:

Автор: archimed7592 4.1.2008, 21:25
Цитата(indigon @  4.1.2008,  21:15 Найти цитируемый пост)
Да ладно, для чего? smile

Да ладно, я шутю smile.


Цитата(indigon @  4.1.2008,  21:15 Найти цитируемый пост)
p.s. ладно хорош флеймить... smile

Sir, yes, sir! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)