Seite 1 von 1

Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 12:51
von B-Baer
Hallo,

ich habe eine kleine GUi erstellt, in der ich ein Notebook verwende.
Das Notebook besitzt 5 Pages.
Nun möchte ich eine der Pages unsichtbar machen und ggf im Apllikationsablauf wieder sichbar machen.
Sprich wenn sie "unsichtbar" ist soll die Page nicht mehr vom Benutzer erreicht weerden können.

Hat jemand ne Idde wie ich das bewerkstelligen kann?

Besten Dank!

Re: Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 15:06
von ntrunk
Benutze einfach die Hide bzw. Show-Methode des Panels (oder habe ich dich falsch verstanden?)

Re: Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 16:00
von B-Baer
Hallo ja :wink: ,

hide oder show(false) scheint bei Notebook Pagel / Panel nicht zu funktionieren!

Ich möchte aber auch nicht das Panel entfernen per remove und dann wieder adden

Re: Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 16:23
von ntrunk
B-Baer hat geschrieben:hide oder show(false) scheint bei Notebook Pagel / Panel nicht zu funktionieren!
Hmm, das folgende Beispiel tut nicht?

Code: Alles auswählen

#! /usr/bin/env python
# coding: iso-8859-15 -*-

import wx

class MyFrame(wx.Frame):
  def __init__ (self):
    wx.Frame.__init__(self, None)
    self.nb = wx.Notebook(self)
    self.nb.AddPage(wx.Panel(self.nb), 'Seite1')
    self.nb.AddPage(wx.Panel(self.nb), 'Seite2')
    self.nb.AddPage(wx.Panel(self.nb), 'Seite3')
    self.btn = wx.Button(self.nb.GetPage(0), label='zeige/verstecke Seite2')
    self.btn.Bind(wx.EVT_BUTTON, self.on_button)
    self.Show()
  def on_button(self, e):
    if self.nb.GetPage(1).IsShown():
      self.nb.GetPage(1).Hide()
    else:
      self.nb.GetPage(1).Show()

app = wx.App()
frm = MyFrame()
app.MainLoop()
Das funktioniert bei mir unter Ubuntu 9.10, python2.6, wx2.8.
Welches Betriebssystem, python-Version, wx-Version hast du?

Re: Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 16:31
von B-Baer
Nee, das Beispiel geht nicht bei mir... :cry:

Windows XP; Python 2.5; wx 2.8

Re: Notebook Page unsichbar machen

Verfasst: Donnerstag 12. August 2010, 16:47
von ntrunk
B-Baer hat geschrieben:Nee, das Beispiel geht nicht bei mir... :cry:

Windows XP; Python 2.5; wx 2.8
Schade (aber interessant zu wissen) ... tja, dann wird dir wohl doch nur noch RemovePage/InsertPage übrigbleiben. Leite doch einfach eine eigene Klasse von wx.Notebook ab und schreib dir eine HidePage-Methode. Das ist doch nicht besonders schwierig oder aufwendig.