PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dynamische Erzeugung von Objekten



dice
18-11-2004, 09:07
Hallo,

ich hab ein Problem mit der dynamischen Erzeugung von Objekten (QLabel, QComboBox etc.)

In dem Programm, soll es darum gehen auf "Knopfdruck" neue Informationen in Labeln dazustellen, deren Anzahl variieren kann.

Ich habe mir Klassen erstellt um verschiedenste Informationen anzuzeigen.
Bei der Erzeugung von Objekten dieser Klassen werden auch gleichzeitig die ersten Daten aus einer DB ausgelesen und dargestellt.

Dieser erste Durchlauf funktioniert auch problemlos. Nur wenn ich neue Daten anzeigen will, die alten QLabels zerstöre und die neuen generiere, sind diese zwar da (ich kann sie mit Informationen füttern etc.) aber sie werden nicht angezeigt.

So soll es gefähr funktionieren:



#include "test.h"
#include "test.moc"

Test::Test( QWidget *parent, const char *name ) : QWidget( parent, name ) {
QPushButton *quit = new QPushButton( "Quit", this, "quit" );
quit->setFont( QFont( "Times", 18, QFont::Bold ) );

connect( quit, SIGNAL(clicked()), this, SLOT(test()) );

grpbxTest = new QGroupBox(this);
grpbxTest->setTitle("Test");
grpbxTest->setGeometry(8,50,100,100);

QGridLayout *grid = new QGridLayout( this, 2, 2, 10 );
//2x2, 10 pixel border
grid->addWidget( quit, 0, 0 );
grid->setColStretch( 1, 10 );
}


Test::test() {
a=new QLabel(grpbxTest);
a->setText("hallo Welt");
}


(Wobei das nur ein schnell zusammengefriemeltes Beispiel ist.)

Hat jemand eine Idee, wie ich die Objekte dazu bewegen kann sich zu zeigen?

Boron
18-11-2004, 09:12
Mit show() die neu erzeugten Elemente auch sichtbar machen.

dice
18-11-2004, 09:21
Danke!

Ich bin sozusagen schon dagegen gelaufen ohne es zu sehen. :o

Marcus