wxpython phoenix:如何从 wx 网格单元格中获取浮点值并执行数学运算?

wxpython phoenix: How to get float values from wx grid cells and perform mathematical operations?

我正在尝试使用 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()

有人能帮忙吗?

一旦您开始想要做那样的事情,那么使用自定义网格 table 来包含您的数据值是个好主意。换句话说,不是您将您的值放入网格并在需要时取回这些值,网格只是根据需要询问您的 table 要显示的值。这使得处理对您的应用程序有意义的任何结构和数据类型的数据变得容易。 wxPython 演示中有一些示例显示了一些实现从 GridTableBase 派生的 table 类 的方法以及如何使用它们。