Seite 1 von 1

QTreeWidget

Verfasst: 31. Juli 2007 21:38
von D_ron
Hallo!

Ich habe ein TreeWidget mit dem Designer erzeugt:

Es hat folgenden fixen Aufbau:

+Data
|--Read
+Memory
|--Write


Ich habe also ein QTreeWidget (Tree) dem 4 QTreeWidgetItems (data, Read, Memory, Write) untergeordnet sind.


Was ich tun möchte:

Ich möchte gezielt unter Read weitere QTreeWidgetItems einfügen:
+Data
|--Read+
|__Wert1
|__Wert2

Wenn man "Read" also aufklappt sollen da diese Werte stehen (sind dynamisch, deswegen kann ich Sie nicht gleich einfügen).

Da das "Read" QTreeWidgetItem nur innerhalb von MOC automatisch erstellten Klasse existiert kann ich von dort aus nicht zugreifen.
Gibt es einen Trick wie man auf diese Items zugreifen kann um unterhalb von Ihnen wieder QTreeWidgetItems anzulegen?

Danke vielmals!

Re: QTreeWidget

Verfasst: 1. August 2007 09:51
von macman
D_ron hat geschrieben:Gibt es einen Trick wie man auf diese Items zugreifen kann um unterhalb von Ihnen wieder QTreeWidgetItems anzulegen?
Erstell sie im Konstruktor. Der Designer ist allenfalls fürs Layout, nicht für Inhalte.

Verfasst: 1. August 2007 10:38
von ChMaster
Servus,

mal so einen kleinen Denkanstoss für dich:

Code: Alles auswählen

QTreeWidgetItem *dataItem = new QTreeWidgetItem( treeWidget );
dataItem->setText( 0, "Data" );

QTreeWidgetItem *readItem= new QTreeWidgetItem( dataItem );
readItem->setText( 0, "Read" );

QTreeWidgetItem *wert1Item = new QTreeWidgetItem( readItem );
wert1Item->setText( 0, "Wert 1" );

QTreeWidgetItem *wert2Item = new QTreeWidgetItem( readItem );
wert2Item->setText( 0, "Wert 2" );

Code: Alles auswählen

connect( treeWidget, SIGNAL( itemClicked( QTreeWidgetItem*, int ) ), this , SLOT( deinSlotItemClicked( QTreeWidgetItem*, int ) ) );

void MyClass::deinSlotItemClicked( QTreeWidgetItem *item, int col ) {
    // ..... hier was du machen willst .....
}
HF :)

[gelöst]

Verfasst: 1. August 2007 11:05
von D_ron
Danke ich bin wie vorgeschlagen vorgegangen.