[英]SetTextColour doesn't work while SetBackgroundColour works
我在Wxpython
有一个网格,我在所有行上都设置了Wxpython
,我希望符合条件的行以红色显示。
当我在做:
attr = gridlib.GridCellAttr()
attr.SetBackgroundColour('#FF0000')
grid.SetRowAttr(i, attr)
它有效并且该行具有红色背景...但是如果我这样做:
attr = gridlib.GridCellAttr()
attr.SetTextColour('#FF0000')
grid.SetRowAttr(i, attr)
它不起作用。 什么都没发生。
i
是行索引。
我希望文字是红色而不是背景。
为什么不起作用?
以下最小示例对我有用,它可以将一行文本的颜色设置为红色,
import wx
import wx.grid as gridlib
class MyForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title="Grid")
panel = wx.Panel(self)
self.grid = gridlib.Grid(panel)
self.grid.CreateGrid(3, 3)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.grid, 1, wx.EXPAND)
panel.SetSizer(sizer)
def set_row_colour(self, row):
attr = gridlib.GridCellAttr()
attr.SetTextColour('#FF0000')
self.grid.SetRowAttr(row, attr)
if __name__ == "__main__":
app = wx.App(False)
form = MyForm()
form.set_row_colour(2)
frame = form.Show()
app.MainLoop()
如果对您不起作用,wx可能有所不同(我使用的是2.8.12.1)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.