为了账号安全,请及时绑定邮箱和手机立即绑定

宽大通网格袋颜色

宽大通网格袋颜色

函数式编程 2022-09-13 17:30:20
我正在使用应用程序进行测试。现在我想在中间面板周围有一个很好的边框,所以它嵌入到另一个面板中。但是,当我想在其中添加网格袋大小并在其中放置静态文本组件时,它会获得主面板的颜色,而不是中窗格的颜色。显然我做错了什么...法典:    #Parent panel    pnl = wx.Panel(self)    pnl.SetBackgroundColour('#4f5049')    vbox = wx.BoxSizer(wx.VERTICAL)    midPan = wx.Panel(pnl)    midPan.SetBackgroundColour('#ededed')    vbox.Add(midPan,wx.ID_ANY, wx.EXPAND |wx.ALL, 20)    sizer = wx.GridBagSizer(10,5)    #sizer.    st1=wx.StaticText(pnl,label='TEST')    sizer.Add(st1, pos=(1,1),flag=wx.ALL,border=5)    midPan.SetSizer(sizer)    #vbox.Add(sizer,wx.ID_ANY, wx.EXPAND |wx.ALL, 0)    #draw application           pnl.SetSizer(vbox)如您所见,看起来尺寸器被添加到pnl而不是中潘...我做错了什么?
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您正在将静态文本定义为 pnl 的子级,而不是 midPan


import wx


class MyFrame(wx.Frame):

    def __init__(self, parent, id=wx.ID_ANY, title="", size=(360,100)):

        super(MyFrame, self).__init__(parent, id, title, size)

        pnl = wx.Panel(self)

        pnl.SetBackgroundColour('#4f5049')


        vbox = wx.BoxSizer(wx.VERTICAL)


        midPan = wx.Panel(pnl)

        midPan.SetBackgroundColour('green')


        vbox.Add(midPan,wx.ID_ANY, wx.EXPAND |wx.ALL, 20)


        sizer = wx.GridBagSizer(10,5)

        st1=wx.StaticText(midPan,label='Black on green')

        st2=wx.StaticText(midPan,label='White on green')

        st2.SetForegroundColour('white')

        st3=wx.StaticText(midPan)

        st3.SetLabelMarkup("<span foreground='black' background='red'>Black on red</span>")

        st4=wx.StaticText(midPan)

        st4.SetLabelMarkup("<span foreground='white' background='red'>White on red</span>")


        sizer.Add(st1, pos=(1,1),flag=wx.ALL,border=5)

        sizer.Add(st2, pos=(2,2),flag=wx.ALL,border=5)

        sizer.Add(st3, pos=(3,3),flag=wx.ALL,border=5)

        sizer.Add(st4, pos=(4,1),flag=wx.ALL,border=5)


        midPan.SetSizer(sizer)

        pnl.SetSizer(vbox)

        self.Show()


if __name__ == "__main__":

    app = wx.App()

    frame = MyFrame(None,title="The Main Frame")

    app.MainLoop()

//img1.sycdn.imooc.com//63204dd50001f69504200512.jpg

查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 40 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信