Есть QTreeWidget. При клике на элемент дерева срабатывает стандартный сигнал itemClicked, который я обрабатываю и вызываю метод showNewPhoto. После запуска программы при клике на QTreeWidgetItem программа закрывается.
Код:
AlbumContentDialog::AlbumContentDialog(QWidget *parent) :
QWidget(parent)
{
setupUi(this);
QObject::connect(photosTreeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)),
this, SLOT(showNewPhoto(QTreeWidgetItem*,int)));
}
void AlbumContentDialog::showNewPhoto(QTreeWidgetItem* item, int level)
{
QMutableListIterator<Photo> i(photoList);
while(i.hasNext()) {
if (i.next().title() == item->text(level)) {
photoView->setText("<img src = "+i.next().path()+">");
}
}
}