如何使用wxpython或wxformbuilder设置活动标题框的背景颜色

时间:2016-03-26 14:24:44

标签: wxpython wxformbuilder

我是wxpython的新手,我正在使用wxformbuilder来设计我的大多数表单,但是我无法确定如何为我的框架中的活动标题设置背景颜色?我是在代码中执行此操作还是在wxformbuilder中有可以设置的属性?

提前感谢,

1 个答案:

答案 0 :(得分:0)

您可以从wxformbuilder RAD环境以及wxpython代码中为活动帧设置背景颜色。

通过wxformbuilder设置背景颜色

添加你的框架>> Sizer>> “对象树”上的面板,并将“对象属性”窗格中的背景(bg)颜色设置为右侧。有关详细信息,请参见下图。 enter image description here

通过wxpython代码设置背景颜色

使用面板的“SetBackgroundColour”和“wx.Colour”方法设置其颜色属性。

self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
self.m_panel1.SetBackgroundColour( wx.Colour( 255, 128, 0 ) )

请参阅以下完整代码: -

import wx

class MyFrame1 ( wx.Frame ):

    def __init__( self, parent ):
        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

        bSizer1 = wx.BoxSizer( wx.VERTICAL )

        self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        self.m_panel1.SetBackgroundColour( wx.Colour( 255, 128, 0 ) )

        bSizer1.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 5 )


        self.SetSizer( bSizer1 )
        self.Layout()

        self.Centre( wx.BOTH )

    def __del__( self ):
        pass

if __name__ == '__main__':
    app = wx.App()
    frame = MyFrame1(None).Show()
    app.MainLoop()