Seite 1 von 1

Probleme mit dynamischen Eingabeelement

Verfasst: 26. Juni 2007 15:34
von NoRulez
Hey @all,

und zwar habe ich vor, je nach elementtyp das jeweilige Widget anzuzeigen
Beispiel:
Integer, Double und Text => QLineEdit
Boolsche Werte => QComboBox
usw.

Jetzt habe ich im Designer ein paar QLineEdits für die Allgemeine Eingabe erstellt und zusätzlich 1 QWidget für die dynamische Eingabe.

So, bei der Initialisierung sieht das ganze so aus:

Code: Alles auswählen

ui.dynElem = new QLineEdit(this);
Weiter unten im Quellcode wo ein Boolscher wert zugewiesen wird steht dann

Code: Alles auswählen

ui.dynElem = new QComboBox(this);
Jedoch wird die ComboBox nirgends angezeigt, habe auch schon folgendes versucht

Code: Alles auswählen

this->dynamic_value_widget = ui.dynElem->rect();
ui.dynElem = new QComboBox(this);
ui.dynElem->setGeometry(this->dynamic_value_widget);
ui.dynElem->setVisible(true);
ui.dynElem->show();
Funktioniert leider auch nicht.

Hat jemand einen Tip für mich wie ich das am besten angehen kann, damit es funktioniert?

Vielen Dank im Voraus
Lg NoRulez

Verfasst: 26. Juni 2007 17:27
von upsala
Beschäftige dich mal (Q)Layouts...

Verfasst: 26. Juni 2007 17:32
von RD1978
Hallo,

versteh ich das richtig, dynElem ist ein QWidget-Objekt aus dem Designer, auf welchem du deine QComboBox positionieren willst?

Dann sollte es damit funktionieren:

Code: Alles auswählen

QComboBox *box = new QComboBox( dynElem );
MfG RD1978

Verfasst: 26. Juni 2007 17:44
von upsala
Das bringt ihm ohne Layouts wenig, da wieder keine Größen und Positionen angepasst werden...

Verfasst: 26. Juni 2007 17:54
von RD1978
Ich ging eigentlich davon aus, das dieses Widget im Designer schon einem Layout zugewiesen wurde oder eine feste größe bekommen hat. :wink:

MfG RD1978

Verfasst: 26. Juni 2007 19:05
von NoRulez
Ja danke funktioniert

Sorry hatte ich vergessen, ich benutze im Designer ein GridLayout

Lg NoRulez