我正在使用wxPython网格,但我无法设置它的背景颜色(未填充单元格的网格部分)。我尝试使用grid.SetBackgroundColour,但没有运气;显示的背景颜色始终是Windows的默认系统颜色。
wx.version() - > 2.8.10.1(msw-unicode)
sys.version - > 2.5(r25:51908,Sep 19 2006,09:52:17)[MSC v.1310 32 bit(Intel)]
O / S版本 - > Windows XP SP3,但我尝试使用基于Ubuntu的Python live cd,结果相同。
import wx
import wx.grid
class TestFrame (wx.Frame):
def __init__ (self):
wx.Frame.__init__ (self, None, title="Grid Table", size=(640,480))
grid = wx.grid.Grid(self, size=(300,300))
grid.CreateGrid(2,2)
grid.SetCellValue(0,0,"1")
color = (100,100,255)
attr = self.cellAttr = wx.grid.GridCellAttr()
attr.SetBackgroundColour(color)
# for row, col in
for row in xrange(2):
for col in xrange(2):
grid.SetAttr(row, col, attr)
grid.SetBackgroundColour(color) # <<< This don't work!
app = wx.PySimpleApp()
frame = TestFrame()
frame.Show()
app.MainLoop()
答案 0 :(得分:2)
grid.SetDefaultCellBackgroundColour(color)
将为所有内容着色,包括单元格外的区域。
答案 1 :(得分:0)
使用grid.SetDefaultCellBackgroundColour(grid.GetLabelBackgroundColour())
为相同颜色的所有颜色着色。然后可以在单元格的基础上重新绘制网格。