python 表格控件wxthon_wxpython生成的一个简单数据表格操作界面

这篇博客展示了如何使用Python的wxPython库和wx.grid模块创建一个简单的数据表格,并实现表格数据的读取、设置及高亮显示功能。通过定义GridData类和Test类,用户可以操作表格中的值并更新界面。
摘要由CSDN通过智能技术生成

import wx, wx.grid

class GridData(wx.grid.PyGridTableBase):

_cols = "a b c".split()

_data = [

"1 2 3".split(),

"4 5 6".split(),

"7 8 9".split()

]

_highlighted = set()

def GetColLabelValue(self, col):

return self._cols[col]

def GetNumberRows(self):

return len(self._data)

def GetNumberCols(self):

return len(self._cols)

def GetValue(self, row, col):

return self._data[row][col]

def SetValue(self, row, col, val):

self._data[row][col] = val

def GetAttr(self, row, col, kind):

attr = wx.grid.GridCellAttr()

attr.SetBackgroundColour(wx.GREEN if row in self._highlighted else wx.WHITE)

return attr

def set_value(self, row, col, val):

self._highlighted.add(row)

self.SetValue(row, col, val)

class Test(wx.Frame):

def __init__(self):

wx.Frame.__init__(self, None)

self.data = GridData()

self.grid = wx.grid.Grid(self)

self.grid.SetTable(self.data)

btn = wx.Button(self, label="set a2 to x")

btn.Bind(wx.EVT_BUTTON, self.OnTest)

self.Sizer = wx.BoxSizer(wx.VERTICAL)

self.Sizer.Add(self.grid, 1, wx.EXPAND)

self.Sizer.Add(btn, 0, wx.EXPAND)

def OnTest(self, event):

self.data.set_value(1, 0, "x")

self.grid.Refresh()

app = wx.PySimpleApp()

app.TopWindow = Test()

app.TopWindow.Show()

app.MainLoop()

#该代码片段来自于: http://www.sharejs.com/codes/python/2327

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值