wxPython-更改网格对象的格式和外观

时间:2018-10-16 08:47:25

标签: python formatting grid wxpython appearance

我想知道是否可以在wxPython中更改网格对象的格式。

我特别想知道如何更改标题标签和行标签的背景颜色,字体类型,字体颜色和边框颜色

这里是一个简单的网格,我想更改其格式:

 import wx
 import wx.grid as gridlib

 class MyForm(wx.Frame):

    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, parent=None, title="A Simple Grid")
        panel = wx.Panel(self)

        myGrid = gridlib.Grid(panel)
        myGrid.CreateGrid(12, 8)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(myGrid, 1, wx.EXPAND)
        panel.SetSizer(sizer)

if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = MyForm().Show()
    app.MainLoop()

提前谢谢!

1 个答案:

答案 0 :(得分:0)

首先,wx.PySimpleApp已被弃用很长时间,您真的不应该再使用它了。请改用wx.App

对于您的问题,您需要使用wx.lib.mixins.gridlabelrenderer。该演示中有一个名为GridLabelRenderer的示例,您可以使用。基本上,您可以继承GridLabelRenderer的子类并修改其Draw方法。然后,调用每一列的SetColLabelRenderer方法并将其设置为使用自定义渲染器。