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 に答える