Re: Unable to get Python/Gtk code to work...
- From: Mike Massonnet <mmassonnet gmail com>
- To: "Daniel B. Thurman" <dant cdkkt com>
- Cc: GTK Applications <gtk-app-devel-list gnome org>
- Subject: Re: Unable to get Python/Gtk code to work...
- Date: Tue, 13 Oct 2009 11:49:28 +0200
Hi,
From a quick view there is no Gtk.init at the beginning (I don't know
python/gtk very well, but from a search it doesn't seem to be needed
there), and at the end it doesn't enter the main loop with gtk.main().
2009/10/12 Daniel B. Thurman <dant cdkkt com>:
I am a first timer here and I am trying to get a
basic TreeView application to work on Fedora-11
I have gotten the following code from somewhere
on the Internet and needed this type of application
for a project I am working on.
The code I had obtained had a couple of problems
when dealing with file-types and was throwing an
exception in the places where I have added my DBT
comments, but even then, I was not able to get the
code to display the application and there is no error
thrown or reported as far as I can tell.
Any pointers/help would be appreciated!
Here is the following code:
============================================
#!/usr/bin/env python
import os, stat, gtk
# Instantiate the tree store and specify the data types
store = gtk.TreeStore(str, gtk.gdk.Pixbuf, int, bool)
def dirwalk(path, parent=None):
# Iterate over the contents of the specified path
for f in os.listdir(path):
# Get the absolute path of the item
fullname = os.path.join(path, f)
# Extract metadata from the item
# DBT: Added try/except because certain files will cause an exception!
try:
fdata = os.stat(fullname)
except:
continue
# Determine if the item is a folder
is_folder = stat.S_ISDIR(fdata.st_mode)
# Generate an icon from the default icon theme
img = gtk.icon_theme_get_default().load_icon(
"folder" if is_folder else "document",
gtk.ICON_SIZE_MENU, 0)
# Append the item to the TreeStore
# DBT: Added try/except because certain files will cause an exception!
try:
li = store.append(parent, [f, img, fdata.st_size, is_folder])
except:
continue
# If the item is a folder, descend into it
if is_folder:
dirwalk(fullname, li)
#defautPath = os.path.expanduser('~')
defaultPath = "/home/user/wherever"
dirwalk(defaultPath)
# Create a TreeViewColumn
col = gtk.TreeViewColumn("File")
# Create a column cell to display text
col_cell_text = gtk.CellRendererText()
# Create a column cell to display an image
col_cell_img = gtk.CellRendererPixbuf()
# Add the cells to the column
col.pack_start(col_cell_img, False)
col.pack_start(col_cell_text, True)
# Bind the text cell to column 0 of the tree's model
col.add_attribute(col_cell_text, "text", 0)
# Bind the image cell to column 1 of the tree's model
col.add_attribute(col_cell_img, "pixbuf", 1)
col2 = gtk.TreeViewColumn("Size")
col2_cell_text = gtk.CellRendererText()
col2.pack_start(col2_cell_text)
col2.add_attribute(col2_cell_text, "text", 2)
# Create the TreeView and set our data store as the model
tree = gtk.TreeView(store)
# Append the columns to the TreeView
tree.append_column(col)
tree.append_column(col2)
scroll = gtk.ScrolledWindow()
scroll.add(tree)
window = gtk.Window()
window.connect("destroy", gtk.main_quit)
window.add(scroll)
window.show_all()
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
--
Mike
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]