QLabel schließen

Alles rund um die Programmierung mit Qt
Antworten
abcmann74
Beiträge: 31
Registriert: 3. Mai 2010 11:03

QLabel schließen

Beitrag von abcmann74 »

Hallo

ich bin noch QT Neuling und gerade auf ein Problem gestoßen.
Ich habe mir ein MainWindow mittels Designer generiert und dieses erfolgreich in MS VS2005 eingebunden. Es klappt auch alles soweit, nur habe ich mir ein QLabel über den new Konstruktor erstellt. Dieses QLabel schließt sich jedoch nicht wenn ich mein MainWindow schließe. Also hab ich mir gedacht, leg ich mir das QLabel als child von Main window an. Das Main window habe ich also als parent gesetzt. Das doofe ist nur, dass ich das Qlabel nicht mit dem Main Winodw verschmelzen will. Die beiden Fenster sollen unabhängig voneinander verschiebbar sein.
Kann mir vllt. jemand helfen wie ich das Qlabel gleichzeitig mit dem Mainwindow schließen kann ohne mainwindow als parent zu übergeben?

lg
Thalil
Beiträge: 1
Registriert: 15. April 2010 08:01

Beitrag von Thalil »

Hallo abcmann74,

da wir das vor einer Woche gerade behandelt haben, mein Tipp.

Im MainWindow einfach einen Button Exit oder dergleichen und dem gibste als SLOT einfach closeAllWindows() mit auf dem Weg. Das dürfte zum Ziel führen.

Thalil
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Üblicherweisse gibt es bei den GUI's eigentlich nur 3 "standardisierte" bzw "übliche" Fensterlayouts:

1: SDI - es gibt nur ein (Haupt) fenster, also ein fensterrahmen in dem sich alles als "verschmolzene" bzw. untergeordnete "Controls" abspielt.

2: MDI - es gibt ein Rahmen (Haupt) Fenster, was innerhalb Arbeitsbereich frei verschiebbare, in Groesse veraenderbare und Iconifizierbare Sub(MDI-Child) Fenster bietet.

3: Dialogbasiert / mehrfach SDI: Mehrere Gleichberechtigte fenster, mit jeweils eigem Rahmen und systemmemu. Getrennt voneinander (egal ob von User initiert oder durch die App) anzeigbar und Löschbar.

Typisches App mit SDI - QT Assistant.
Typisches MDI und DialogBasiert / multi SDI - QDesigner, den kannst zwischen MDI(+ Dockbare Fenster) und mehrere einzelfenster umschalten.
Ok beim MDI fehlen die iconifizierung usw an den midichilds aber von der technik her isses MDI.

Bei allem anderen wirst frueher oder spaeter am framework rumfrickeln muessen.
Ich vermute du willst was eher in richtung Punkt 3 oder ?

Als Tipp: reine Widgets und COntrols sollte man eher ned im Raum schweben lassen. Technisch geht es, aber iss vom design her nicht schoen.
Sie sollten in ne Klasse eingepackt werden, die sich ums Rahmenwerk kuemmert.
Solche Rahmenfensterklassen sind Typischerweisse QDialog, QMainWidget, QMdiSubWindow, QDockwidget, QSplashScreen vielleicht noch ^^

Modaler QDialog waer eine Moglichkeit bei Dir ... QDockwidget vielleicht eine andere ...

Ciao ...
abcmann74
Beiträge: 31
Registriert: 3. Mai 2010 11:03

Beitrag von abcmann74 »

Danke für die vielen Inforamtionen. Ich werde es mal mit Dock widgets ausprobieren. Das hört sich interessant an.
Antworten