简体   繁体   中英

wxpython table label background color overflowing the grid

I have to make a wxpython table using grid.I have set the background color of the table using grid.SetLabelBackgroundColour("green"). But it is overflowing the grid and changing color of the area outside the header also. Can anybody please help me in fixing this.

import wx
import wx.grid

class GridFrame(wx.Frame):

    def __init__(self, parent):

        wx.Frame.__init__(self, parent)

        # Create a wxGrid object
        grid = wx.grid.Grid(self, -1)

        # Then we call CreateGrid to set the dimensions of the grid
        # (100 rows and 10 columns in this example)
        grid.CreateGrid(100, 10)
        grid.SetLabelBackgroundColour("green")
        # We can set the sizes of individual rows and columns
        # in pixels
        grid.SetRowSize(0, 60)
        grid.SetColSize(0, 120)

        # And set grid cell contents as strings
        grid.SetCellValue(0, 0, 'wxGrid is good')

        # We can specify that some cells are read.only
        grid.SetCellValue(0, 3, 'This is read.only')
        grid.SetReadOnly(0, 3)

        # Colours can be specified for grid cell contents
        grid.SetCellValue(3, 3, 'green on grey')
        grid.SetCellTextColour(3, 3, wx.GREEN)
        grid.SetCellBackgroundColour(3, 3, wx.LIGHT_GREY)

        # We can specify the some cells will store numeric
        # values rather than strings. Here we set grid column 5
        # to hold floating point values displayed with width of 6
        # and precision of 2
        grid.SetColFormatFloat(5, 6, 2)
        grid.SetCellValue(0, 6, '3.1415')

        self.Show()


if __name__ == '__main__':

    app = wx.App(0)
    frame = GridFrame(None)
    app.MainLoop()

I cannot find a way to force this to limit the label colour to just the number of defined labels.
I don't know if the following would be of any use to you but you could limit the size of the frame, so that the user does not see beyond the last column by seting a size to the frame and limiting the ability to resize it.

wx.Frame.__init__(self, parent, size=(950,500),style= wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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