Cargar Arbol
César Hernández
dpcesar en gmail.com
Mie Jul 19 20:11:00 CEST 2006
Gracias Mario Lacunza por el dato :)
Verifique el demo existen solo dos ejemplos para el TreeCtrl
pyTree.py
SplitTree.py
de ellos he tomado parte del codigo SplitTree.py me presento algunos
problemas por la instrucción: "import images" investigue un poco y llegue a
la conclusión erronea de que me faltaba un modulo por instalar en python,
creyendo que era el PIL me lo baje (
http://www.pythonware.com/products/pil/index.htm) y lo instale... mellejua
perdida de tiempo...
Bueno, finalmente solucione y pude hacer ejecutar torpemente una rutina de
prueba, lo que no comprendo muy bien es porque pareciera no utilizar el
Widgets que cree con el wxGlade y crea uno nuevo... (bueno tal vez no sea
uno nuevo, pero pareciera estar sobre el otro)
alguna sugerencia, el codigo completo a continuación:
#!/usr/bin/env python
# -*- coding: ISO-8859-1 -*-
# generated by wxGlade 0.4.1 on Tue Jul 11 14:26:46 2006
import wx
import sys, os, time, string
from wxPython.wx import *
from wxPython.gizmos import *
class MyFrame1(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame1.__init__
kwds["style"] =
wx.ICONIZE|wx.CAPTION|wx.MINIMIZE|wx.CLOSE_BOX|wx.MINIMIZE_BOX|wx.MAXIMIZE_BOX|wx.SYSTEM_MENU|wx.RESIZE_BORDER|wx.CLIP_CHILDREN
wx.Frame.__init__(self, *args, **kwds)
# Menu Bar
self.menuprincipal = wx.MenuBar()
self.SetMenuBar(self.menuprincipal)
wxglade_tmp_menu = wx.Menu()
wxglade_tmp_menu.Append(wx.NewId(), "Establecer Impresora", "",
wx.ITEM_NORMAL)
wxglade_tmp_menu.AppendSeparator()
wxglade_tmp_menu.Append(wx.NewId(), "Buscar Actualizaciones", "",
wx.ITEM_NORMAL)
wxglade_tmp_menu.AppendSeparator()
wxglade_tmp_menu.Append(wx.NewId(), "item", "", wx.ITEM_NORMAL)
self.menuprincipal.Append(wxglade_tmp_menu, "Archivo")
wxglade_tmp_menu = wx.Menu()
wxglade_tmp_menu.Append(wx.NewId(), "Pegar", "", wx.ITEM_NORMAL)
wxglade_tmp_menu.Append(wx.NewId(), "Copiar", "", wx.ITEM_NORMAL)
wxglade_tmp_menu.Append(wx.NewId(), "Cortar", "", wx.ITEM_NORMAL)
wxglade_tmp_menu.AppendSeparator()
wxglade_tmp_menu.Append(wx.NewId(), "Buscar Item", "",
wx.ITEM_NORMAL)
self.menuprincipal.Append(wxglade_tmp_menu, u"Edición")
wxglade_tmp_menu = wx.Menu()
wxglade_tmp_menu.Append(wx.NewId(), "Ayuda en linea", "",
wx.ITEM_NORMAL)
wxglade_tmp_menu.Append(wx.NewId(), "Visite nuestra web", "",
wx.ITEM_NORMAL)
wxglade_tmp_menu.AppendSeparator()
wxglade_tmp_menu.Append(wx.NewId(), "Acerca de . . .", "",
wx.ITEM_NORMAL)
self.menuprincipal.Append(wxglade_tmp_menu, "Ayuda")
# Menu Bar end
self.barra_estatus = self.CreateStatusBar(4, 0)
# Tool Bar
self.BarradeHerramientas = wx.ToolBar(self, -1, style=
wx.TB_HORIZONTAL|wx.TB_FLAT|wx.TB_3DBUTTONS|wx.TB_TEXT|wx.TB_NODIVIDER|wx.TB_HORZ_LAYOUT|wx.TB_HORZ_TEXT
)
self.SetToolBar(self.BarradeHerramientas)
self.BarradeHerramientas.AddLabelTool(100, "Imprimir",
wx.Bitmap("C:\\tucuman\\imagen\\hrr_print.png",
wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Imprimir", "Establecer
Impresora")
self.BarradeHerramientas.AddLabelTool(200, "Buscar",
wx.Bitmap("C:\\tucuman\\imagen\\lupa.png",
wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, "Buscar", "Busqueda
Avanzada")
# Tool Bar end
self.arbol = wx.TreeCtrl(self, -1, style=
wx.TR_HAS_BUTTONS|wx.TR_LINES_AT_ROOT|wx.TR_DEFAULT_STYLE|wx.SUNKEN_BORDER)
self.txt_partida = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
self.txt_descrip = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
self.list_box_1 = wx.ListBox(self, -1, choices=[], style=
wx.LB_MULTIPLE)
self.lbx_caif = wx.ListBox(self, -1, choices=[])
self.lsb_contabilidad = wx.ListBox(self, -1, choices=[])
self.__set_properties()
self.__do_layout()
self.arbol = TestTree(self.arbol, -1)
self.Bind(wx.EVT_TOOL, self.hrr_imprimir, id=100)
self.Bind(wx.EVT_TOOL, self.hrr_buscar, id=200)
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame1.__set_properties
self.SetTitle("..: Tucuman :..")
self.SetSize((454, 542))
self.barra_estatus.SetStatusWidths([80, 100, 35, 100])
# statusbar fields
barra_estatus_fields = [" Tucuman", u" Versión 0001.0001", " 2007",
"PostgreSQL - Local "]
for i in range(len(barra_estatus_fields)):
self.barra_estatus.SetStatusText(barra_estatus_fields[i], i)
self.BarradeHerramientas.SetToolBitmapSize((40, 30))
self.BarradeHerramientas.Realize()
self.arbol.SetBackgroundColour(wx.Colour(249, 255, 180))
self.arbol.SetToolTipString("Clasificador Presupuestario")
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame1.__do_layout
sizerPricipal = wx.BoxSizer(wx.VERTICAL)
sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
sizer_2 = wx.BoxSizer(wx.VERTICAL)
sizer_1.Add(self.arbol, 1, wx.ALL|wx.EXPAND, 0)
sizer_2.Add(self.txt_partida, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE,
0)
sizer_2.Add(self.txt_descrip, 2, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE,
0)
sizer_2.Add(self.list_box_1, 0, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE,
0)
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0)
sizerPricipal.Add(sizer_1, 1, wx.EXPAND, 0)
sizer_3.Add(self.lbx_caif, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
sizer_3.Add(self.lsb_contabilidad, 1,
wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 0)
sizerPricipal.Add(sizer_3, 1, wx.EXPAND, 0)
self.SetAutoLayout(True)
self.SetSizer(sizerPricipal)
self.Layout()
# end wxGlade
def Imprimir(self,evento=None):
# inicio wxGlade: Ventana de imprimir
data = wxPrintDialogData()
data.EnablePrintToFile(true)
data.EnablePageNumbers(true)
data.EnableSelection(true)
dlg = wxPrintDialog(self, data)
if dlg.ShowModal() == wxID_OK:
print ""
dlg.Destroy()
# Fin wxGlade
def hrr_imprimir(self, event): # wxGlade: MyFrame1.<event_handler>
self.Imprimir(self)
event.Skip()
def hrr_buscar(self, event): # wxGlade: MyFrame1.<event_handler>
data = wxFindReplaceData()
dlg = wxFindReplaceDialog(self, data, "Find")
dlg.data = data # save a reference to it...
dlg.Show(true)
event.Skip()
# end of class MyFrame1
class TestTree(wxRemotelyScrolledTreeCtrl):
def __init__(self, parent, ID, pos=wxDefaultPosition,
size=wxDefaultSize,
style=wxTR_HAS_BUTTONS):
wxRemotelyScrolledTreeCtrl.__init__(self, parent, ID, pos, size,
style)
# Add some items
root = self.AddRoot("PUCG -2007")
for i in range(1,9):
item = self.AppendItem(root, "4.0%d" % i)
for j in range(10):
child = self.AppendItem(item, "4.0%d.00" % i)
self.Expand(root)
class MyApp(wx.App):
def OnInit(self):
wx.InitAllImageHandlers()
Principal = MyFrame1(None, -1, "")
self.SetTopWindow(Principal)
Principal.Show()
return 1
# end of class MyApp
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
Más información sobre la lista de distribución Python-es