Verzeichnisansicht

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

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
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()
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

ä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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Und offensichtlich Windows, verwende doch mal

Code: Alles auswählen

model.setRootPath('C:/')
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

jop :D
geht immernoch nicht :(

€: fehler gefunden :)
sys.exit(app.exec_()) hat gefehlt ^^
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

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" ?
lunar

Lies die Dokumentation und experimentiere mit den verschiedenen View-Klassen. So kompliziert ist das doch nicht ...
Antworten