FAQ
Hi !

this is my problem:

I've a wxNotebook object, which contains 2 Panels.
On up, there is TAB section, I have 2 tabs.
I want to color the TAB section with ( for example ) red color.

I've tried with SetBackgroundColour() for wxNotebook object and for 2
panel inside, but it doesn't works.
why??

thx in advance!

bye

Search Discussions

  • Rob Wolfe at Aug 31, 2006 at 12:09 pm

    mardif wrote:
    Hi !

    this is my problem:

    I've a wxNotebook object, which contains 2 Panels.
    On up, there is TAB section, I have 2 tabs.
    I want to color the TAB section with ( for example ) red color.

    I've tried with SetBackgroundColour() for wxNotebook object and for 2
    panel inside, but it doesn't works.
    why??
    Presumably you forgot to refresh window. Try this:

    <code>
    import wx

    app = wx.PySimpleApp()

    frame = wx.Frame(None, -1, "Notebook")
    nb = wx.Notebook(frame, -1)
    form1 = wx.Panel(nb, -1)
    nb.AddPage(form1, "Form1")
    form2 = wx.Panel(nb, -1)
    form2.SetBackgroundColour(wx.RED)
    nb.AddPage(form2, "Form2")
    nb.SetSelection(1)
    frame.Refresh()
    frame.Show(True)

    app.MainLoop()
    </code>

    HTH,
    Rob
  • Mardif at Aug 31, 2006 at 12:28 pm
    No no!!!
    Your example is OK, great!
    but is not my problem:

    If you set:

    frame.SetBackgroundColour(wx.RED)

    On unix, you can see that label "form1" and "form2" are grey, and
    others elements are red.
    But on Windows, on the same line of "form1" and "form2", the color is
    not red, but grey as labels.

    I want to color this space RED!!!

    Rob Wolfe wrote:
    mardif wrote:
    Hi !

    this is my problem:

    I've a wxNotebook object, which contains 2 Panels.
    On up, there is TAB section, I have 2 tabs.
    I want to color the TAB section with ( for example ) red color.

    I've tried with SetBackgroundColour() for wxNotebook object and for 2
    panel inside, but it doesn't works.
    why??
    Presumably you forgot to refresh window. Try this:

    <code>
    import wx

    app = wx.PySimpleApp()

    frame = wx.Frame(None, -1, "Notebook")
    nb = wx.Notebook(frame, -1)
    form1 = wx.Panel(nb, -1)
    nb.AddPage(form1, "Form1")
    form2 = wx.Panel(nb, -1)
    form2.SetBackgroundColour(wx.RED)
    nb.AddPage(form2, "Form2")
    nb.SetSelection(1)
    frame.Refresh()
    frame.Show(True)

    app.MainLoop()
    </code>

    HTH,
    Rob
  • Rob Wolfe at Aug 31, 2006 at 1:58 pm

    mardif wrote:

    If you set:

    frame.SetBackgroundColour(wx.RED)

    On unix, you can see that label "form1" and "form2" are grey, and
    others elements are red.
    But on Windows, on the same line of "form1" and "form2", the color is
    not red, but grey as labels.

    I want to color this space RED!!!
    Oh, I see now. I don't know if that is possible on windows.
    SetBackgroundColour works differently on windows than on unix,
    so probably native windows widget doesn't support this feature.
    (but I can be wrong of course.)

    Regards,
    Rob

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedAug 31, '06 at 10:34a
activeAug 31, '06 at 1:58p
posts4
users2
websitepython.org

2 users in discussion

Mardif: 2 posts Rob Wolfe: 2 posts

People

Translate

site design / logo © 2022 Grokbase