[megoldva] Qt Dialog box bezárásakor kilép a program is, pedig nem kéne

 ( csfeco | 2013. szeptember 3., kedd - 14:24 )

Sziasztok!

Írtam egy aránylag egyszerű Qt-s GUI-t.
A fő ablak egy dialog, amivel indíthatóak programok (böngésző, freerdp, vagy más). Egy vékony kliensnek egy előválasztó felülete. A program további feladata, ha már nincs tevékenység akkor ki kell kapcsolni, vagy alapállapotba kell hozni a kliens gépet.
A kikapcsolás, vagy alaphelyzetbe állítás előtt feldob egy figyelmeztető ablakot, ami visszaszámlál, és amiben jelezhető, ha folytatnánk a munkát (nem kapcsol ki, vagy hoz alaphelyzetbe). Na ennek a figyelmeztető dialog box-nak a működésével van baj. Ha az a végeredmény, hogy alaphelyzetbe kell állítani a gépet (accept), akkor az OK. Ha viszont az, hogy ne csináljon semmit(reject), akkor a dialog box bezárása után kilép a program, mintha a fő event loop is kapna egy exit-et.
Én már napok óta nézem guvadt szemekkel a kódot, de nem értem miért lép ki. Megmutattam egy kollégámnak is, de nem jutottunk semmire.
A kód fent van a github-on: https://github.com/csikfer/rdpwrp .

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A QApplication quitOnLastWindowClosed property-je vagy az ablakod Qt::WA_QuitOnClose attribútuma lesz a te barátod.

Köszönöm, egy zseni vagy.
A fő ablakom hide-ban volt, és mivel a quitOnLastWindowClosed alapértelmezetten be van kapcsolva, ezért kilépett. Mondjuk, csak akkor lépett ki, ha a dialóg után nem csináltam semmit, ha kilőttem a futó child-et, akkor nem lépett ki, és ez a tippjeimet azért félrevitte.
Azt azért erősen vitatom, hogy a quitOnLastWindowClosed ezek után a barátom lenne :).