QTreeView als Datei- und Ordnerbrowser

Alles rund um die Programmierung mit Qt
Antworten
D.Cent
Beiträge: 44
Registriert: 25. Juli 2007 15:39

QTreeView als Datei- und Ordnerbrowser

Beitrag von D.Cent »

Hallo,
Ich wollte mir gerne das im Titel genannte basteln.

Nur leider gibt es da ein kleines Problem: Das Beispiel aus der Qt-Doku funktioniert nicht mehr!
Da die Dokumentation anscheinend überholt werden muss, habe ich hier im Forum nach etwas verwertbarem gesucht und stieß auf das hier:

http://qt-forum.de/forum/viewtopic.php? ... t=treeview

Doch leider ist auch hier was falsch:

Code: Alles auswählen

odf_image.cpp:59: error: no matching function for call to ‘QItemSelectionModel::QItemSelectionModel(QDirModel&)’
Danach nennt er noch einige Funktionen, die QAbstractItemModel haben wollen.

Zeile 59 sieht wie folgt aus:

Code: Alles auswählen

QItemSelectionModel selection(model);
"model" ist vom Typ QDirModel.

Noch eine kleine Anmerkung: Ich deklariere meine Qt-Klassen nicht mit "new" (weil ansonsten Memory Leaks enstehen). Bis jetzt hat das immer geklappt.

Was kann ich jetzt machen?
Oder hat jemand ein besseres Beispiel?

[Qt 4.3.3, Linux]
VuuRWerK
Beiträge: 82
Registriert: 11. Juni 2007 20:46
Wohnort: Dresden

Beitrag von VuuRWerK »

Ja, da wirst Du Dich wohl überwinden müssen und mal einen Pointer verwenden, denn der Konstruktor von QItemSelectionModel erwartet nun mal einen Pointer und kein Objekt.

Zumal "Memory Leaks" nur dann entstehen wenn Du die Pointer nicht ordnungsgemäß wieder "löschst" aber das liegt nun mal ganz in der Hand des Programmierer und nicht in der Hand einer CPU, eines Hauptspeichers oder des Compilers.

Vielleicht solltest Du Dir noch ein gutes Buch über C/C++ und Pointer anschauen und so Deine "unbegründete Angst" überwinden ;)

Gut Schuß
VuuRWerK ;)
Es gibt nur 3 natürliche Feinde des Programmierers: Tageslicht, frische Luft und das unerträgliche Gebrüll der Vögel.
Oft ist die Ursache des schwarzsehens lediglich ein verrutschen des Bretts vorm Kopf =)
D.Cent
Beiträge: 44
Registriert: 25. Juli 2007 15:39

Beitrag von D.Cent »

Nagut, ich habe den Code jetzt mal 1 zu 1 übernommen.

Danke für den Tip.. Das mit dem "delete" hatte ich schon wieder fast vergessen ^^
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wobei delete in Qt-Programmen eigentlich so gut wie nicht mehr notwendig ist. Aber dazu sollten beide hier mal die Doku zu QObject lesen...
VuuRWerK
Beiträge: 82
Registriert: 11. Juni 2007 20:46
Wohnort: Dresden

Beitrag von VuuRWerK »

Hab schon gelesen ;)

Ich weiß das die Angabe der Parents bei jedem Widget mir die Arbeit des "deleten" des Pointers abgenommen wird da der Pointer durch den hierarischen Aufbau in Qt mit "deletet" wird.

Mein Antwort bezog sich auf die allgemeine "Angst" von D.Cent durch die Benutzung von Pointern.

Gut Schuß
VuuRWerK ;)
Es gibt nur 3 natürliche Feinde des Programmierers: Tageslicht, frische Luft und das unerträgliche Gebrüll der Vögel.
Oft ist die Ursache des schwarzsehens lediglich ein verrutschen des Bretts vorm Kopf =)
Antworten