1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
import sys,os
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class viewDir(QWidget):
def __init__(self,parent=None):
super(viewDir,self).__init__(parent)
self.vGrid = QVBoxLayout()
self.setLayout(self.vGrid)
self.diskModel = QFileSystemModel()
self.diskModel.setFilter(QDir.Drives)
self.diskModel.setRootPath(QDir.currentPath())
self.dirModel = QFileSystemModel()
self.dirModel.setFilter(QDir.AllDirs)
self.fileModel = QFileSystemModel()
self.fileModel.setFilter(QDir.Files)
self.listDisks = QListView()
self.listDisks.setModel(self.diskModel)
self.listDisks.setRootIndex(self.fileModel.index(QDir.currentPath()))
self.listDirs = QListView()
self.listFiles = QListView()
self.vGrid.addWidget(self.listDisks)
self.vGrid.addWidget(self.listDirs)
self.vGrid.addWidget(self.listFiles)
self.connect(self.listDisks,SIGNAL("clicked (const QModelIndex&)"),lambda : self.changeDisk())
def changeDisk(self):
d= self.diskModel.filePath(self.listDisks.currentIndex())
self.dirModel.setRootPath(d)
self.dirModel.setFilter(QDir.AllDirs)
self.listDirs.setModel(self.dirModel)
if __name__=="__main__":
app=QApplication(sys.argv)
app.setPalette(QApplication.style().standardPalette())
ui=viewDir()
ui.show()
sys.exit(app.exec_()) |
Partager