Seite 1 von 1

Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 18:48
von waki
Hey,
ich bin gerade dabei ein Programm zuschreiben, mit welchem ich zugiff auf das Dateisystems übers Internet bekomme. Nun weiß aber nicht wirklich, wie ich das mit PyQt4 umsetzten kann, damit ich ein fenster, wie der explorer, habe und dort die Verzeichnisse durchforsten kann. Kann mir jemand helfen?


grüße

Re: Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 19:08
von lunar
Verwende eine View-Klasse (z.B. QTreeView oder QListView) in Verbindung mit einem "QFileSystemModel". Damit kannst Du in wenigen Zeilen eine recht ansehnliche Verzeichnisansicht hin:

Code: Alles auswählen

>>> import sys
>>> from PyQt4.QtGui import QApplication, QFileSystemModel, QTreeView, QMainWindow
>>> app = QApplication(sys.argv)
>>> mainwindow = QMainWindow()
>>> mainwindow.setCentralWidget(QTreeView(mainwindow))
>>> model = QFileSystemModel(mainwindow.centralWidget())
>>> model.setRootPath('/')
<PyQt4.QtCore.QModelIndex object at 0x289c600>
>>> mainwindow.centralWidget().setModel(model)
>>> mainwindow.show()

Re: Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 19:26
von waki
äh, danke schonmal, aber dein code geht bei mir nicht ^^
Bekomm ein widget hängt sich aber dan aber auf und zeigt auch nichts an :(
zur info, hab python 2.6 und pyqt4

Re: Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 19:39
von cofi
Und offensichtlich Windows, verwende doch mal

Code: Alles auswählen

model.setRootPath('C:/')

Re: Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 19:45
von waki
jop :D
geht immernoch nicht :(

€: fehler gefunden :)
sys.exit(app.exec_()) hat gefehlt ^^

Re: Verzeichnisansicht

Verfasst: Freitag 23. Juli 2010, 19:56
von waki
perfekt, alles was ich wollte :) Nun andere Frage(ist auch bei Netzwerkprogrammierung), kann ich die angezeigten Odner steuern, also:
Kann ich sagen er soll anzeigen "laufwerk c:" und wenn ich draufklick geb ich dem die befehle was er anzeigen soll: "odner a", "odner b", "datei a", "datei b" ?

Re: Verzeichnisansicht

Verfasst: Samstag 24. Juli 2010, 15:21
von lunar
Lies die Dokumentation und experimentiere mit den verschiedenen View-Klassen. So kompliziert ist das doch nicht ...