1

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

谁能帮忙?

4

1 回答 1

0

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

于 2016-09-07T22:25:46.460 回答