Unterschied zwischen "MainWindow" und "Dialog

Alles rund um die Programmierung mit Qt
Antworten
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Unterschied zwischen "MainWindow" und "Dialog

Beitrag von sea_bear »

Moin moin!

Was ist eigentlich der Unterschied zwischen einem Fenster vom Typ "MainWindow" und vom Typ "Dialog"?
Ich nutze immer "Dialog" als Hauptfenster meiner Programme, da ich mit der Toolleiste und der Statuszeile nichts anfangen kann. Gibt es einen Grund warum ich lieber "MainWindow" als Hauptfenster nehmen sollte?

mfg
Tobias
klogg
Beiträge: 129
Registriert: 5. September 2005 17:00
Wohnort: Hann. Münden

Beitrag von klogg »

Genau! :P

Was passiert nämlich, wenn ich ein QMainWindow nehme
und dann später mal mein Programm aus einem anderen Programm heraus z.B. per Knopfdruck starten will.
DANN wäre es doch toll, wenn mein QMainWind "nur" ein QDialog gewesen wäre, oder?

*gespannt*

HENNING
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Es ist ein Unterschied, wie das Verhalten ist.
In einem MainWindow hast du immer MenuBar, ToolBar, StatusBar und setCentralWidget und das gibts in einem Dialog eben nicht.
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Beitrag von sea_bear »

OK, schon verstanden. Wenn ich aber eben diese Dinge nicht brauche, kann ich doch ein QDialog benutzen. Oder spricht da irgendetwas dagegen?
Mein Hauptfenster braucht diese Dinge eben nicht und soll zudem in der Größe nicht veränderbar sein. Wie bekomme ich das ansonsten hin?

Tobias
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Mit WFlags.

Aber nein, du brauchst es natürlich nicht. Warum solltest du?
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Mein Hauptfenster braucht diese Dinge eben nicht und soll zudem in der Größe nicht veränderbar sein. Wie bekomme ich das ansonsten hin?
Mit setMinimumSize() und setMaximumSize()
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

lepsai hat geschrieben:Mit setMinimumSize() und setMaximumSize()
Das ist nicht so schön, denn damit bekommt man immer noch die Resize-Cursor zu sehen. Besser wäre es mit den Flags zu machen, aber dann ist ein Dialog wirklich fix und das Layout passt sich bei Änderungen, z.B. einer anderen Sprache, nicht mehr an. Deshalb nehme ich:

Code: Alles auswählen

layout()->setSizeConstraint(QLayout::SetFixedSize);
Damit läßt sich das Layout noch dynamisch anpassen, ist jedoch per Maus nicht mehr änderbar.
Antworten