2016-09-07 2 views
0

Я пытаюсь построить счет-фактуру с сеткой wx, я хотел бы добавить значения в столбце количества и столбцы значений в цене и отобразить их в общей сумме строк.wxpython phoenix: Как получить значения float из ячеек сетки wx и выполнить математические операции?

import wx 
import wx.grid as gridlib 


class MyForm(wx.Frame): 
    def __init__(self): 
    wx.Frame.__init__(self, None, wx.ID_ANY, "Invoice") 
    datag = 0 


    # Add a panel so it looks the correct on all platforms 
    panel = wx.Panel(self, wx.ID_ANY) 
    grid = gridlib.Grid(panel) 
    grid.CreateGrid(25, 3) 
    note_sizer = wx.BoxSizer() 
    note_sizer.Add(grid, 1, wx.EXPAND) 
    panel.SetSizer(note_sizer) 

    # We can set the sizes of individual rows and columns 
    # in pixels 
    grid.SetColSize(0, 520) 

    # change a couple column labels 
    grid.SetColLabelValue(0, "Product") 
    grid.SetColLabelValue(1, "Quantity") 
    grid.SetColLabelValue(2, "Price") 
    grid.SetColFormatFloat(2) 

    grid.SetCellValue(24, 0, 'Total') 

if __name__ == "__main__": 
    app = wx.App() 
    frame = MyForm().Show() 
    app.MainLoop() 

Может ли кто-нибудь помочь?

ответ

0

Как только вы начинаете хотеть делать подобные вещи, рекомендуется использовать таблицу специальных таблиц для хранения ваших значений данных. Другими словами, вместо того, чтобы вы помещали свои значения в сетку и возвращали значения, когда это необходимо, сетка просто запрашивает таблицу для отображения значений по мере необходимости. Это позволяет легко обрабатывать данные в любой структуре и типах данных, имеющих смысл для вашего приложения. В демонстрации wxPython есть несколько примеров, демонстрирующих некоторые способы реализации классов таблиц, полученных из GridTableBase и способов их использования.

+0

Спасибо за ваш ответ :) –

Смежные вопросы