Seite 1 von 1

Menü als Baumstrucktur

Verfasst: 26. Januar 2008 14:38
von qt_kot
Hallo

Ich hätte da mal eine Frage: Ich versuche ein Menü zu bauen daß wie eine Baumstrucktur aussieht.

Menu1
|___ Menu1.1
|___ Menu1.2
Menu2
|___ Menu2.1
|___ Menu2.1.1
usw.

Habe es mit dem Code weiter unten versucht.
Optisch klappts ja aber ich schaffe den CONNECT nicht!

Meldung:
Object::connect: No such signal QTreeWidget::DoubleClicked(QModelIndex)

Bin ein Neuling unter QT und habe keine Idee ob ich auf dem richtigen Weg bin, wäre echt SUPER wenn mir da jemand weiterhelfen könnte.

Also DANKE schon mal im Voraus


QTreeWidget *treeWidgetMenu = new QTreeWidget();
treeWidgetMenu->setColumnCount(2);
treeWidgetMenu->setEditTriggers(QAbstractItemView::DoubleClicked);
QStringList headers;
headers << tr("Programm") << tr("Code");
treeWidgetMenu->setHeaderLabels(headers);
connect(treeWidgetMenu, SIGNAL(DoubleClicked(QModelIndex)), this, SLOT(clicked(QModelIndex)));

//MasterData
QTreeWidgetItem *MasterData = new QTreeWidgetItem(treeWidgetMenu);
MasterData->setText(0, tr("Masterdata"));

//MasterData/KeyEntities
QTreeWidgetItem *KeyEntries = new QTreeWidgetItem(MasterData);
KeyEntries->setText(0, tr("KeyEntries"));

//MasterData/KeyEntities/...
QTreeWidgetItem *KeyUnitsList = new QTreeWidgetItem(KeyEntries);
KeyUnitsList->setText(0, tr("Units"));
KeyUnitsList->setText(1, tr("KEY_U001"));

Verfasst: 26. Januar 2008 15:28
von upsala
Du schreibst dein Signal falsch. Du suchst dieses hier:

Code: Alles auswählen

void doubleClicked ( const QModelIndex & index )

Verfasst: 26. Januar 2008 21:07
von qt_kot
Upsala Danke für die rasche Info

Leider habe ich es noch immer nicht knacken können, habe die folgenden Connects versucht --> erfolglos!

Kann mir jemand sagen was ich da vergeige?
Danke schon mal im Voraus


connect(treeWidgetMenu, SIGNAL(doubleClicked(const QModelIndex & index)), this, SLOT(runTreeMenuEntry(const QModelIndex & index)));

connect(treeWidgetMenu, SIGNAL(itemDoubleClicked ( QTreeWidgetItem * item, int column )), this, SLOT(runTreeMenuEntry( QTreeWidgetItem * item, int column )));

Verfasst: 26. Januar 2008 21:16
von Christian81
DOKU ! Oder QObject::connect Wie kann man einfach drauf los programmieren ohne sich die Doku auch nur angeschaut zu haben?

Verfasst: 26. Januar 2008 23:11
von qt_kot
So hat zwar etwas getauert aber hier ist die Lösung:

connect(treeWidgetMenu, SIGNAL(itemDoubleClicked ( QTreeWidgetItem *, int )), this, SLOT(runTreeMenuEntry(QTreeWidgetItem *, int))); :D