Hallo Leute!
ich habe einen HauptDialog programmiert, der einen weiteren Dialog als Extension beinhaltet. Führe ich meine HauptDialog-exe aus, verhält sich alles wie gewöhnlich.
Wenn ich aber meinen HauptDialog in ein anderes Programm integriere,
und den HauptDialog aus diesem Programm heraus aufrufe, kommt es
zu Problemen bei dem Aufruf des Extensions.
Der Extension-Dialog ist auf einmal separat vorhanden und nicht mehr
an dem Hauptdialog gebunden. Der Hauptdialog zeigt aber bei dem Aufruf des Extension den "Platzhalter" für das Extension an.
Weiß jemand Rat?
Vielen Dank für eine Antwort.
Ahoi
Dialog Extension Problem
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
erzeugst Du möglicherweise in für Deinen ExtensionDialog zwei eigene (Dialog) Widgets, von dem das eine der parent des anderen ist ?
Wenn ich die Anleitung zu Qt richtig verstanden habe, sollte ein Extension Dialog in der Weise erzeugt werden, dass der (je nach Zustand) zu versteckende oder gesondert darzustellende Teil in eine zum Dialog gehörende QGroupBox gezeichnet wird und diese Groupbox (je nach gewünschten Zustand) mit show() oder hide() an - bzw. abgeschaltet wird.
Im Designer würdest Du dann den kompletten Dialog entwerfen und natürlich ein automatisches Grid-Layout drauflegen. Schliesslich müsstest Du (je nach gewünschtem Zustand) in der virtuellen init() Methode (diese wird ab Qt 3.0 unmittelbar nach Aufbau des Konstruktors aufgerufen) die zusätzlichen Groupboxen mit NAME->hide() abschalten. Das Anschalten sollte dann mit NAME->show() erfolgen. Ich sehe aber nicht ein, warum man den Aufruf von Groupbox->hide() nicht auch im Konstruktor erledigen sollte (bei mir klappt das)
Auf diese Weise ist es eigentlich nicht möglich, dass die Groupbox (und damit der Extension - Bereich) in einem eigenen Fenster dargestellt wird. Wenn Du nicht willst, dass man die Groupbox sieht, kannst du ja den Text und die Linie abschalten.
Gruss Arne
Wenn ich die Anleitung zu Qt richtig verstanden habe, sollte ein Extension Dialog in der Weise erzeugt werden, dass der (je nach Zustand) zu versteckende oder gesondert darzustellende Teil in eine zum Dialog gehörende QGroupBox gezeichnet wird und diese Groupbox (je nach gewünschten Zustand) mit show() oder hide() an - bzw. abgeschaltet wird.
Im Designer würdest Du dann den kompletten Dialog entwerfen und natürlich ein automatisches Grid-Layout drauflegen. Schliesslich müsstest Du (je nach gewünschtem Zustand) in der virtuellen init() Methode (diese wird ab Qt 3.0 unmittelbar nach Aufbau des Konstruktors aufgerufen) die zusätzlichen Groupboxen mit NAME->hide() abschalten. Das Anschalten sollte dann mit NAME->show() erfolgen. Ich sehe aber nicht ein, warum man den Aufruf von Groupbox->hide() nicht auch im Konstruktor erledigen sollte (bei mir klappt das)
Auf diese Weise ist es eigentlich nicht möglich, dass die Groupbox (und damit der Extension - Bereich) in einem eigenen Fenster dargestellt wird. Wenn Du nicht willst, dass man die Groupbox sieht, kannst du ja den Text und die Linie abschalten.
Gruss Arne