Programación Web y Scripting > Python

 TABLAS EN BOA CONSTRUCTOR

(1/1)

jorgeortega10:
SI ALGUIEN ME PODRIA AYUDAR CON TABLAS EN BOA COMO EN DELPHI PARA INSERTAR FILAS

RadicalEd:
Qué tipo de tablas, las que maneja el control sheet???, checa este código
Extraido de zetcode

--- Código: Python ---#!/usr/bin/python # notebook.py import wximport wx.lib.sheet as sheet  class MySheet(sheet.CSheet):    def __init__(self, parent):        sheet.CSheet.__init__(self, parent)        self.SetNumberRows(50)        self.SetNumberCols(50) class Notebook(wx.Frame):    def __init__(self, parent, id, title):        wx.Frame.__init__(self, parent, id, title, size=(600, 500))        menubar = wx.MenuBar()        file = wx.Menu()        file.Append(101, 'Quit', '' )        menubar.Append(file, '&File')        self.SetMenuBar(menubar)         wx.EVT_MENU(self, 101, self.OnQuit)         nb = wx.Notebook(self, -1, style=wx.NB_BOTTOM)        self.sheet1 = MySheet(nb)        self.sheet2 = MySheet(nb)        self.sheet3 = MySheet(nb)         nb.AddPage(self.sheet1, 'Sheet1')        nb.AddPage(self.sheet2, 'Sheet2')        nb.AddPage(self.sheet3, 'Sheet3')         self.sheet1.SetFocus()        self.StatusBar()        self.Centre()        self.Show()     def StatusBar(self):        self.statusbar = self.CreateStatusBar()     def OnQuit(self, event):        self.Close() app = wx.App()Notebook(None, -1, 'notebook.py')app.MainLoop()  

jorgeortega10:
HOLA CON LO QUE ME AYUDASTE ME AYUDO EN UNA PARTE DE MI SISTEMA PERO LA PARTE QUE MAS O MENOS NECESITO ES DE LA SIGUIENTE MANERA
TENDO UN WX.CHOICE QUE INSERTO UN CODIGO Y EN UN TEXT ME DA LA DESCRIPCION DESPUES TENGO UN TEX DONDE INSERTO LA CANTIDA Y EL PRECIO DESPUES TENGO UNOS BOTONES PARA INSERTAR MODIFICAR O ELIMINAL, LO QUE NESECITO ES SABER COMO HAGO PARA QUE DESPUES EN LA PARTE DE MAS ABAJO SE INSERTE UNA FILA CON TODO LO ANTERIOR MAS EL TOTAL CON UN PUNTERO PARA PODER MODIFICAR O ELIMINAR

RadicalEd:
Busca info acerca de SetCellValue, el ejemplo de esta página está bastante claro. wx.lib.sheet
Acá te copio el ejemplo

--- Código: Python ---# use wxPython's wx.lib.sheet.CSheet widget# to create a simple spread sheet import wximport wx.lib.sheet class MySheet(wx.lib.sheet.CSheet):    instance = 0    def __init__(self, parent, rows, cols, data_list):        wx.lib.sheet.CSheet.__init__(self, parent)        self.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE)        self.text = ''                # set the rows and columns of the sheet        self.SetNumberRows(rows)        self.SetNumberCols(cols)                # set row height and column width        row_size = 20        for row in range(self.GetNumberRows()):            self.SetRowSize(row, row_size)        col_size = 60        for col in range(self.GetNumberCols()):            # make name and role columns wider            if col < 2:                self.SetColSize(col, col_size + 80)            else:                self.SetColSize(col, col_size)                        # set column lable titles at the top        for ix, title in enumerate(data_list[0]):            self.SetColLabelValue(ix, title)                    # create reusable attribute objects for all cells        self.attr = wx.grid.GridCellAttr()        self.attr.SetTextColour('black')        self.attr.SetBackgroundColour('yellow')        self.attr.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.NORMAL))                # now load the data_list into the spread sheet cells        self.loadCells(data_list)            def loadCells(self, data_list):        # find rows and columns the data needs        self.drows = len(data_list)        self.dcols = len(data_list[0])        # note that the title row=0 is taken        for row in range(1, self.drows):            # set cell attributes for the whole row            self.SetRowAttr(row-1, self.attr)            for col in range(self.dcols):                value = data_list[row][col]                #print row, col, value  # testing ...                self.SetCellValue(row-1, col, value)                # align numbers to the right                if col > 1:                    self.SetCellAlignment(row-1, col,wx.ALIGN_RIGHT, wx.ALIGN_CENTRE)                # optional extra information at the end        self.SetCellTextColour(row, 0, 'red')        self.SetCellBackgroundColour(row, 0, 'white')        # wx.Font(pointSize, family, style, weight, underline=false,        # faceName="", encoding=wx.FONTENCODING_DEFAULT)        # family: wx.DEFAULT, wx.DECORATIVE, wx.ROMAN, wx.SCRIPT, wx.SWISS,        # wx.MODERN        # style: wx.NORMAL, wx.SLANT or wx.ITALIC        # weight: wx.NORMAL, wx.LIGHT or wx.BOLD        font = wx.Font(8, wx.ROMAN, wx.ITALIC, wx.NORMAL)        self.SetCellFont(row, 0, font)        text = "The cast of Hallo Yankee Mama"        self.SetCellValue(row, 0, text)            def OnLeftClick(self, event):        """        a CSheet method        cell is left-clicked, get cell data        """        r = event.GetRow()        c = event.GetCol()        text = self.GetCellValue(r, c)        self.GetParent().SetTitle(text)  # test ...        # move the cursor to the selected cell        self.SetGridCursor(r, c)        class MyFrame(wx.Frame):    def __init__(self, parent, mytitle, mysize, data_list):        wx.Frame.__init__(self, parent, wx.ID_ANY, mytitle, size=mysize)                # create the spread sheet        # give it enough rows and columns to fit all the data        rows = 18        cols = 4        self.sheet1 = MySheet(self, rows, cols, data_list)        self.sheet1.SetFocus()        # this data string could have been loaded from a filedata_str = """Name, Role, Age, HeightGladys Day, Mama, 55, 64Alfonso Day, Papa, 60, 67Doris Night, Neighbor, 51, 68Jonathan Summer, Neighbor, 60, 66Elke Winter, Sweety, 51, 70Frank Ferkel Day, Son, 25, 74Karl Arm, Friend, 32, 73Mark Marlboro, Thief, 26, 72Larry Lark, Policeman, 22, 69Gustav Gurgel, Pizzaman, 19, 61Monika Kleinbrust, Niece, 23, 62Paul Porkough, Council, 45, 58""" # create a data list from the data string# this makes it easier to load the spread sheetdata_list = []for line in data_str.split('n'):    line_list = line.split(',')    data_list.append(line_list) app = wx.App(0)mytitle = "a simple spread sheet"width = 450height = 380MyFrame(None, mytitle, (width, height), data_list).Show()app.MainLoop() 
Cualquier inquietud no dudes en hacerla, yo creo que este código está mucho más sencillo que el anterior y más comentado, sino sabes ingles ¿QUE ESPERAS PARA APRENDERLO? :devil:  :devil:

Navegación

[0] Índice de Mensajes

Ir a la versión completa