da ich noch an der Grundstruktur bin gibt es leider noch nicht mehr Code.
Ich habe ein Mainwindow mit einer Benutzeroberfläche und mehreren Toolbars.
Eine der Toolbars heißt toolbar_login und beinhaltet ein Widget vom der Klasse "login", abgeleitet von QWidget.
Ich möchte nun dass nach Ablauf eines Timers die Anwendung sperrt und nur das Loginwidget offen ist, damit sich der Benutzer neu authentifizieren muss.
Variante A: alle Widgets der Benutzeroberfläche mit
<Widgetx->setEnabled ( false );>
blocken, auser dme Loginwidget.
Nachteil: Die GUI ist komplex, ich müsste also ewig viele Widgets disablen.
Variante B: Ich disable das Mainwindow und Enable nur das LoginWidget.
-> geht leider nicht, wie ich mir das dachte.
Das einzige was ich bisher hinbekommen habe, ist dass ich das gewünschte Realisiere mit
Code: Alles auswählen
ui.centralWidget->setEnabled( false );
ui.toolbarX->setEnabled ( false );
ui.dockwidgetX->setEnabeld( false );
ui.menu->setEnabeld( false );
Da ich aber viele Dockwidgets habe und einige Toolbars ist es relativ aufwändig die GUI auf diese Weise zu sperren.
Ganz ausblenden möchte ich die Anwendung auch ungern, da es dann einige User geben könnte die die Anwendung für geschlossen oder abgestürzt halten, weil sie evtl. das ( kleine ) loginfenster übersehen. Mir wäre aus dem Grund ein disablen ( grau machen ) lieber..