import os, sys, time
from PyQt4.QtCore import *
from PyQt4.QtGui  import *
 
class Window (QMainWindow) :
    def __init__ (self) :
        super (Window, self).__init__ ()
        self.setWindowTitle ("Okno")
 
        self.tree = QTreeWidget ()
        self.setCentralWidget (self.tree)
        self.tree.itemActivated.connect (self.onClick)
        self.tree.setColumnCount (3)
        self.tree.setHeaderLabels (["name", "size", "date"])
 
        self.scanDir (self.tree, ".")        
        # self.tree.expandAll ()
 
    def scanDir (self, target, dirName) :
        dirName = os.path.abspath (dirName)
        items = os.listdir (dirName)
        items.sort ()
        for item in items :
            name = os.path.join (dirName, item)
            node = QTreeWidgetItem (target)
            node.setText (0, item)
            if os.path.isdir (name) :
               node.setForeground (0, QColor ("red")) 
               self.scanDir (node, name)
            else :
               node.setForeground (0, QColor ("blue")) 
               try :
                  s = os.stat (name)
                  node.setText (1, str (s.st_size))
                  # import time
                  t0 = time.gmtime (s.st_mtime)
                  t1 = time.strftime ("%Y-%m-%d %H:%M:%S", t0)
                  node.setText (2, t1)
               except :
                  pass
 
    def onClick (self, item, column) :
        item.setText (0, "Click")
 
appl = QApplication (sys.argv)
win = Window ()
win.show ()
appl.exec_ ()
 
pyqt_tree.txt · Last modified: 2018/10/10 11:20 by 147.32.8.115
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki