Button soll nur einmal ein QWidget erzeugen

Alles rund um die Programmierung mit Qt
Antworten
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Button soll nur einmal ein QWidget erzeugen

Beitrag von imbiss »

Hallo zusammen

Ich habe ein Wideget mit einem Button der wenn ich in anklicke ein
neues Wideget erzeugt (klappt auch), aber jedesmal wenn ich wieder
auf den Button klicke wird ein 2tes und 3tes usw erzeugt.

Meine frage ist wie kann ich das machen das nur ein Wideget erzeugt
wird und der Button solange nicht mehr aktiv ist, bis das neue Wideget geschlossen wird?

Oder gibt es da noch andere Lösungen?

MFG
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QWidget::setDisabled(bool)
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

Benutze Qt 3.3.4
DarkWotan
Beiträge: 65
Registriert: 18. Mai 2006 10:03

Re: Button soll nur einmal ein QWidget erzeugen

Beitrag von DarkWotan »

imbiss hat geschrieben: Meine frage ist wie kann ich das machen das nur ein Wideget erzeugt
wird
Wikipedia: Singleton
und der Button solange nicht mehr aktiv ist, bis das neue Wideget geschlossen wird?
Soll nur der Button deaktiviert werden oder gleich das ganze Fenster modal sein, sodass das öffnende Widget solange nicht aktiv ist, wie das geöffnete Fenster offen?

MfG, Cedric
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

Wenn das geht wäre schön !!

MFG
imbiss
Beiträge: 20
Registriert: 17. Oktober 2005 20:04

Beitrag von imbiss »

Ich bekomme das einfach nicht gebügelt :-(

MFG
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

imbiss hat geschrieben:Benutze Qt 3.3.4
Na und? Dann nimmste eben QWidget::setEnabled(bool).
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Die einfachste Möglichkeit, du erzeugst dir ne Klassenvariable die mit 0 initialisiert wird und der du das erstellte Widget zuweist. Drückt der Benutzer nochmal den Button frägst du die Klassenvariable ab. Da die nun nicht mehr 0 ist, erstellst du kein neues Widget.

Oder Du deaktivierst den Button wie ja bereits erwähnt wurde, nachdem du das erste mal dein Widget erzeugt hast.

Auf solche Lösungen hätte man aber auch selber kommen können oder nicht?
:roll:
Antworten