wxPython - изменить форматирование и внешний вид объекта сетки - PullRequest
0 голосов
/ 16 октября 2018

Я хотел бы знать, возможно ли изменить форматирование объекта сетки в 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 голосов
/ 16 октября 2018

Во-первых, wx.PySimpleApp устарел в течение очень долгого времени, и вы действительно не должны больше его использовать.Вместо этого используйте wx.App.

Что касается вашего вопроса, вам нужно будет использовать wx.lib.mixins.gridlabelrenderer.В демонстрации есть пример, который называется GridLabelRenderer, который вы можете использовать.В основном вы создаете подкласс GridLabelRenderer и модифицируете его метод Draw.Затем вы вызываете метод SetColLabelRenderer каждого столбца и настраиваете его на использование своего пользовательского средства визуализации.

...