Για documentation στο http://python-gtk-3-tutorial.readthedocs.org/en/latest/
και πληροφορίες εδώ https://live.gnome.org/PyGObject
Πρώτα εγκαθιστάμε τα απαραίτητα από τα αποθετήρια
Κάνουμε
- Κώδικας: Επιλογή όλων
sudo apt-get install libgtk-3-0 python-gobject gobject-introspection
Παρακάτω παρουσιάζω ένα παράδειγμα πως χρησιμοποιούμε το Gtk.TreeView
με TreeModel το Gtk.ListStore και
Cell renderer το Gtk.CellRendererText
όπου τοποθετεί τα κρυφά αρχεία του HOME καταλόγου στο TreeView.
Documentation για αυτό εδώ http://python-gtk-3-tutorial.readthedoc ... eview.html
Το Gtk.TreeView το συνδέουμε με κάποιο TreeModel (Model) είτε Gtk.ListStore είτε με Gtk.TreeStore.
έπειτα θέλωντας να εμφανίσουμε τα δεδομένα (View) υπάρχουν οι Cell renderers
όπως ( Gtk.CellRendererText, Gtk.CellRendererPixbuf και Gtk.CellRendererToggle )
Εικόνα

και ο κώδικας
- Κώδικας: Επιλογή όλων
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gi.repository import Gtk
import commands
def hiddenFFS():
res = []
HiddenFiles=[]
HiddenFiles = commands.getoutput('cd $HOME/ && ls -larh | egrep "^-" | egrep " \.\S*" ')
if len(HiddenFiles) == 0:
return []
HiddenFiles = HiddenFiles.split('\n')
for hidden in HiddenFiles:
tmp = hidden.split(' ')
while tmp.count(''):
tmp.remove('')
res.append(tmp)
return res
class TreeViewExample(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.set_title('Kρυφά αρχεία '+ '/home/' + commands.getoutput('whoami'));
HiddenFiles = hiddenFFS()
if HiddenFiles != []:
store = Gtk.ListStore(str,str,str,str,str,str,str,str)
for hidden in HiddenFiles:
store.append(hidden)
Tree = Gtk.TreeView(store)
renderer = Gtk.CellRendererText()
NamesOfColumns = ['Rights','Contains','Owner','Group','Size','Date','Time','Name']
for i,columnName in enumerate(NamesOfColumns):
Tree.append_column(Gtk.TreeViewColumn(columnName, renderer, text = i ))
else:
store = Gtk.ListStore(str)
store.append(['No hidden Files Found under HOME Directory'])
Tree = Gtk.TreeView(store)
renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Nothing To Show here", renderer, text=0)
Tree.append_column(column)
self.add(Tree)
if __name__ == '__main__':
win = TreeViewExample()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
Περιμένω παράδειγμα με Gtk.TreeStore ως TreeModel του Gtk.TreeView
