更改wx.按钮背景颜色时出现问题

2024-09-28 03:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

前提:

我有一个带一些wx.按钮的小wx.框架:

    self.display = wx.Button(self, wx.ID_STATIC, label="Titolo", size=(240, 120))
    self.duration = wx.Slider(self, wx.ID_STATIC)
    self.prv = wx.Button(self, wx.ID_STATIC, label="\u23EA")
    self.prv.SetFont(self.font1)
    self.playpause = wx.Button(self, wx.ID_STATIC, label="\u23EF")
    self.playpause.SetFont(self.font1)
    self.fwd = wx.Button(self, wx.ID_STATIC, label="\u23E9")
    self.fwd.SetFont(self.font1)
    
################################################################################
    
    self.horizontal_sizer = wx.BoxSizer(wx.HORIZONTAL)
    self.horizontal_sizer.Add(self.prv, 0, wx.EXPAND)
    self.horizontal_sizer.Add(self.playpause, 0, wx.EXPAND)
    self.horizontal_sizer.Add(self.fwd, 0, wx.EXPAND)
    self.sizer = wx.BoxSizer(wx.VERTICAL)
    self.sizer.Add(self.display, 0, wx.EXPAND)
    self.sizer.Add(self.duration, 0, wx.EXPAND)
    self.sizer.Add(self.horizontal_sizer, 1, wx.EXPAND)
    

这里看起来都不错(这是输出):

enter image description here

问题:

但是,当我在代码中添加以下行以更改wx.按钮的背景颜色时:

    self.display = wx.Button(self, wx.ID_STATIC, label="Titolo", size=(240, 120))
    self.display.SetBackgroundColour("white")
    self.duration = wx.Slider(self, wx.ID_STATIC)
    self.duration.SetBackgroundColour("white")
    self.prv = wx.Button(self, wx.ID_STATIC, label="\u23EA")
    self.prv.SetBackgroundColour("white")
    self.prv.SetFont(self.font1)
    self.playpause = wx.Button(self, wx.ID_STATIC, label="\u23EF")
    self.playpause.SetBackgroundColour("white")
    self.playpause.SetFont(self.font1)
    self.fwd = wx.Button(self, wx.ID_STATIC, label="\u23E9")
    self.fwd.SetBackgroundColour("white")
    self.fwd.SetFont(self.font1)

此问题发生在:

enter image description here

问题:

为什么会改变?看起来它们都是相同的按钮,因为它们有相同的标签,如果我将第一个按钮(带有label="titolo")绑定到一个测试evt处理程序,它们都会启动相同的处理程序

注意:

我正在使用wx.python4.1.1和python3.8.3


Tags: selfaddidstaticbuttonlabelexpandwx

热门问题