繁体   English   中英

SetBackgroundColour工作时,SetTextColour不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM