[gelöst]Ersatz für Q3ListBox mit VorschauBildern

Alles rund um die Programmierung mit Qt
Antworten
Vrenn
Beiträge: 28
Registriert: 17. Oktober 2005 10:16

[gelöst]Ersatz für Q3ListBox mit VorschauBildern

Beitrag von Vrenn »

Hallo,
Dank eurer Hilfe ist mein Viewer lauffähig mit einer Dicombibliothek (Medizinische Bilder). Mit der Q3ListBox nehme ich Vorschaubilder (80x80 pixmap, sollte aber variabel sein) der Bilder in einer Datei auf, gebe einen Text daneben dazu und stelle sie zum Navigieren da.

Vorteil von Q3ListBox war:
1. Sie nimmt Text und Bild entgegen
2. Sie übernimmt die Objekte völlig, und baut sie z.B. mit einem ->clear(); wieder ab
3. Sie skaliert die Bilder automatisch auf deren Größe.
4. Sie hat eine funktion clear();

Der Portingguide von Qt3zu4 sagt mit, ich soll QListWidget als Ersatz nehmen. Nur habe ich damit Probleme:
1. Sie nimmt nur QWidgetItems entgegen die prinzipiell nur aus Text und QIcons bestehen
2. Mir ist nicht klar, ob es die Objekte ganz übernimmt, ob ich sie wieder deleten muss bevor ich das nächste Widget erzeuge (per for-schleife)
3. Es ist mir trotz der QIcon-funktionen nicht gelungen die Vorschaubilder auf 80x80 zu bringen
4. Wie lösche ich sie wieder (incl. Objekte)?

Ich erwarte keine vorgefertigten Codebeispiele, sondern bitte um einen Rat, welchen Pfad ich nun einschlagen soll. Kann ich mit QWidgetItems Vorschaubilder Erzeugen (ala 80x80 oder größer)? Soll ich auf die getrennte ModelView Architektur umsteigen und wie verhält es sich dort mit der Objektverwaltung? Welche Modelview-Combination entspricht am ehesten der Q3ListBox?

Danke für jeden Rat.
Grüße Vrenn
Zuletzt geändert von Vrenn am 6. Dezember 2005 18:14, insgesamt 1-mal geändert.
klogg
Beiträge: 129
Registriert: 5. September 2005 17:00
Wohnort: Hann. Münden

Re: Ersatz für Q3ListBox mit VorschauBildern

Beitrag von klogg »

Vrenn hat geschrieben:2. Mir ist nicht klar, ob es die Objekte ganz übernimmt, ob ich sie wieder deleten muss bevor ich das nächste Widget erzeuge (per for-schleife)
Ich hab einfach mal im Qt Quellcode nachgesehen
und die clear() Funktion des ListWidgets wendet delete auf alle thingis an.
Sprich: Das ListWidget baut übergebene Items wieder ab.

HENNING
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Du solltest wenn möglich ein weiten Bogen um alle Q3.. Funktionen machen.
Da das alles nur Kompatiblitätsfunktionen sind. Und statt dessen die neuen Versionen benutzen.
Vrenn
Beiträge: 28
Registriert: 17. Oktober 2005 10:16

Beitrag von Vrenn »

Ich habe das Projekt mit Q3 angefangen, doch es war nicht kompatibel mit dcmtk, siehe http://www.qt-forum.de/forum/viewtopic.php?t=953
Jetzt möchte ich eben diesen Bogen machen und alle q3-Funktionen rausschmeißen. Doch ich brauche ein Vorschaunavigierkonstrukt das eben diese Q3ListBox-Vorteile wie absolute Objektverwaltung und große Graphiken enthält. QWidgetItems tut letzteres meines Wissens nicht. (ersteres anscheinend schon, danke!)
Danke aber für die Antworten, nach der Listbox muss nur noch das Popupmenü hinaus. Wie das geht ist mir klar, nur sitzt ein Speicherzugriffsfehler im neuen Menü)

PS: den alten Code müsstest du eh noch haben ;)
Vrenn
Beiträge: 28
Registriert: 17. Oktober 2005 10:16

GELÖST!

Beitrag von Vrenn »

Sehr versteckt in QAbstractItemView, lässt sich aber auch auf QListWiget einsetzen: ->setIconSize( QSize( 100 , 100 ) );
Uff, das war eine schwere Geburt.
Antworten