PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDE/Qt: QDialog in einem kmainwindow anzeigen lassen?



stefan-tiger
18-02-2006, 15:59
Hallo,

hab den Bogen noch nicht ganz raus.

Habe mit dem Designer ne Oberfläche erstellt und dann mit Kdevelop ein Projekt (Desinger basierendes Projekt) und dann einfach die ui Datei von der vorlage durch meine ersetzt.

Nach einigem hin und her hab ichs jetzt soweit, daß cih die Oberfläche kompilieren kann udn ausführen.

Die Fenstergröße stimmt, aber ich seh keines der Elemente.

Mein Widget ist von QDialog abgeleitet und beinhaltet Tabs, Buttons usw.
So, Kdevelop hat ein kmainwondow generiert und will dann per "setCentralWidget();" mein Widget einbinden.

Nur seh ich nichts.

stefan-tiger
19-02-2006, 12:23
Ich hab ein bisschen nachgeforscht, und folgendermaßen läßt sich der Fehler reproduzieren:

In KDevelop ein neues Projekt anlegen: C++ -> KDE -> simples designerbasierendes Projekt

Jetzt wird ein QWidget mit einem Button und einem "Hello World" Feld generiert. Ändert man nun in der .ui Datei QWidget in QDialog, dann läßt es sich kompilieren, aber es sind keine Elemente mehr auf der Oberfläche vorhanden.

Ruft man die .ui Datei im designer auf, sieht alles ganz "normal" aus, sprich alle Elemente vorhanden.

Was ist da los? Warum geht das nur mit einem QWidget und nicht mit einem QDialog?

anda_skoa
23-02-2006, 22:38
Ein QDialog ist ein eigenes Fenster, daß man jederzeit mit show() anzeigen lassen kann, bzw mit exec() ausführen, falls es ein modaler Dialog ist.

Wenn du es als CentralWidget setzen willst, brauchst du keine der Eigenschaften von QDialog, QWidget ist da völlig ausreichend

Ciao,
_

stefan-tiger
24-02-2006, 09:15
Danke habe es schon in ein QWidget umgeändert.