#!/usr/bin/env python from PyQt4 import QtCore, QtGui import sys class MainWin (QtGui.QMainWindow): def __init__ (self, parent=None): QtGui.QMainWindow.__init__ (self, parent) fileMenu = self.menuBar().addMenu ("&File") toolbar = self.addToolBar ("tools") toolbar.setMovable (True) toolbar.setIconSize (QtCore.QSize (16, 16)) self.setStatusBar (QtGui.QStatusBar ()) act = QtGui.QAction ("&Open", self) act.setIcon (QtGui.QIcon ("icons/green_page.xpm")) act.setToolTip ("Open file") act.setStatusTip ("Otevri nejaky soubor") self.connect (act, QtCore.SIGNAL ("triggered()"), fileOpen) fileMenu.addAction (act) toolbar.addAction (act) tv = QtGui.QTreeWidget () self.setCentralWidget (tv) ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "first item") ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "second item") ti2 = QtGui.QTreeWidgetItem (ti) ti2.setText (0, "third item") ti2.setToolTip (0, "third item") ti2.setIcon (0, QtGui.QIcon ("icons/yellow_box.xpm")) self.connect (tv, QtCore.SIGNAL("itemClicked (QTreeWidgetItem *, int)"), itemClicked) def fileOpen () : fileName = QtGui.QFileDialog.getOpenFileName (win, "Open File", ":zn") def itemClicked (tree_node, column) : fileName = QtGui.QFileDialog.getOpenFileName (win, "Open Icon File", ":zn") tree_node.setIcon (0, QtGui.QIcon (fileName)) def start () : app = QtGui.QApplication (sys.argv) global win win = MainWin () win.show () app.exec_ () start () #!/usr/bin/env python from PyQt4 import QtCore, QtGui import sys import rpm class MainWin (QtGui.QMainWindow): def __init__ (self, parent=None): QtGui.QMainWindow.__init__ (self, parent) fileMenu = self.menuBar().addMenu ("&File") toolbar = self.addToolBar ("tools") toolbar.setMovable (True) toolbar.setIconSize (QtCore.QSize (16, 16)) self.setStatusBar (QtGui.QStatusBar ()) act = QtGui.QAction ("&Open", self) act.setIcon (QtGui.QIcon ("icons/green_page.xpm")) act.setToolTip ("Open file") act.setStatusTip ("Otevri nejaky soubor") self.connect (act, QtCore.SIGNAL ("triggered()"), fileOpen) fileMenu.addAction (act) toolbar.addAction (act) global tv tv = QtGui.QTreeWidget () tv.setColumnCount (4) self.setCentralWidget (tv) ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "first item") ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "second item") ti2 = QtGui.QTreeWidgetItem (ti) ti2.setText (0, "third item") ti2.setToolTip (0, "third item") ti2.setIcon (0, QtGui.QIcon ("icons/yellow_box.xpm")) self.connect (tv, QtCore.SIGNAL("itemClicked (QTreeWidgetItem *, int)"), itemClicked) def fileOpen () : # fileName = QtGui.QFileDialog.getOpenFileName (win, "Open File", ":zn") packages () def itemClicked (tree_node, column) : fileName = QtGui.QFileDialog.getOpenFileName (win, "Open Icon File", ":zn") tree_node.setIcon (column, QtGui.QIcon (fileName)) def packages () : ts = rpm.TransactionSet () mi = ts.dbMatch() # mi = ts.dbMatch('name', 'gcc') for h in mi : name = "%s-%s-%s" % (h['name'], h['version'], h['release']) ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, name) def start () : app = QtGui.QApplication (sys.argv) global win win = MainWin () win.show () app.exec_ () start () #!/usr/bin/env python from PyQt4 import QtCore, QtGui import sys import rpm class MainWin (QtGui.QMainWindow): def __init__ (self, parent=None): QtGui.QMainWindow.__init__ (self, parent) fileMenu = self.menuBar().addMenu ("&File") toolbar = self.addToolBar ("tools") toolbar.setMovable (True) toolbar.setIconSize (QtCore.QSize (16, 16)) self.setStatusBar (QtGui.QStatusBar ()) act = QtGui.QAction ("&Open", self) act.setIcon (QtGui.QIcon ("icons/green_page.xpm")) act.setToolTip ("Open file") act.setStatusTip ("Otevri nejaky soubor") self.connect (act, QtCore.SIGNAL ("triggered()"), fileOpen) fileMenu.addAction (act) toolbar.addAction (act) global tv tv = QtGui.QTreeWidget () tv.setColumnCount (4) self.setCentralWidget (tv) ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "first item") ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, "second item") ti2 = QtGui.QTreeWidgetItem (ti) ti2.setText (0, "third item") ti2.setToolTip (0, "third item") ti2.setIcon (0, QtGui.QIcon ("icons/yellow_box.xpm")) self.connect (tv, QtCore.SIGNAL("itemClicked (QTreeWidgetItem *, int)"), itemClicked) def fileOpen () : # fileName = QtGui.QFileDialog.getOpenFileName (win, "Open File", ":zn") packages () def itemClicked (tree_node, column) : fileName = QtGui.QFileDialog.getOpenFileName (win, "Open Icon File", ":zn") tree_node.setIcon (column, QtGui.QIcon (fileName)) def packages () : ts = rpm.TransactionSet () mi = ts.dbMatch() mi = ts.dbMatch('name', 'gcc') for h in mi : name = "%s-%s-%s" % (h['name'], h['version'], h['release']) ti = QtGui.QTreeWidgetItem (tv) ti.setText (0, name) file_names = h['filenames'] file_sizes = h['filesizes'] file_mtimes = h['filemtimes'] file_md5s = h['filemd5s'] count = len (file_names) inx = 0 while inx < count : fileName = file_names [inx] ti2 = QtGui.QTreeWidgetItem (ti) ti2.setText (0, fileName) ti2.setText (1, str (file_sizes [inx])) ti2.setText (2, str (file_mtimes [inx])) ti2.setText (3, str (file_md5s [inx])) inx = inx + 1 def start () : app = QtGui.QApplication (sys.argv) global win win = MainWin () win.show () app.exec_ () start ()