Seite 1 von 1

item liste mit liste also item

Verfasst: 6. November 2012 10:00
von anti-freak
hallo,

ich habe folgendes problem:
ich habe ein qlistwidget in dem ich mehrere qlistwidgetitem dynamisch darstellen möchte. soweit kein problem. allerdings möchte ich auch unter listen haben. d.h. das ein item selbst auch ein qlistwidget sein kann, in dem wiederrum auch beliebig viele qlistwidgetitem haben möchte. letzteres item soll wiederrum ebenso ein qlistwidget sein ;)
ich denke man versteht, worauf ich hinaus möchte.
das zu programmieren ist nicht weiter schwer, nur bereitet mir die darstellung ein wenig kopfzerbrechen.
ich habe 2 ansätze.
einmal erbt eine klasse von qlistwidget und qlistwidget item. klappt soweit auch gut, nur das die größe von meinem item nicht passt. d.h. die höhe des items ist statisch, und ich bekomme leider auch nicht anhand meiner items heraus, wie groß das item letztendlich wirklich sein soll, was einige darstellungsfehler mit sich bringt.
der 2. ansatz war ein qitemdelegate. die höhe passt soweit schon, nur bekomm ich den inhalt nicht angezeigt.
letztendlich wird einfach nur eine leere fläche angezeigt.
2. problem ist, das wenn ich in die liste ein item vor das delegierte item pushe, das ein anderes item die zuständigkeit für mein qitemdelegate übernimmt, sodass sich mein qitemdelegate nicht verschiebt, sondern an seiner ursprünglichen position bleibt.

letztendlich sieht mein draw code so aus.

Code: Alles auswählen

void Container::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    QStyleOptionQ3ListView t_ListViewOption;
    t_ListViewOption.state = QStyle::State_Enabled;
    t_ListViewOption.rect = option.rect;
    t_ListViewOption.fontMetrics = QApplication::fontMetrics();

    QApplication::style()->drawComplexControl(QStyle::CC_CustomBase, &t_ListViewOption, painter, m_pListWidget);
hat da jemand erfahrung mit?

Re: item liste mit liste also item

Verfasst: 6. November 2012 10:24
von franzf
Nimm doch einfach QTreeWidget.

Re: item liste mit liste also item

Verfasst: 6. November 2012 21:26
von anti-freak
ok, danke für den tipp