Seite 1 von 1

standardmenus asublenden???

Verfasst: Mittwoch 8. März 2006, 09:05
von madRAM
Hallo,

kann man wxPython davon abhalten Standardmenueintraege zu erzeugen?

Ich meine z.B. den Quit eintrag im Dateimenu oder ein extra Hilfemenu.

ich habe folgenden Code fuer meine Menus:

Code: Alles auswählen

# create some menus
		ImageMenu = wxMenu()
		ImageMenu.Append(ID_CRTIMG,
						locale.getTextElement("menTxtEntry_CrtImg_Caption"),
						locale.getTextElement("menTxtEntry_CrtImg_AltText"))
		ImageMenu.Append(ID_RSTIMG,
						locale.getTextElement("menTxtEntry_RstImg_Caption"),
						locale.getTextElement("menTxtEntry_RstImg_AltText"))
		
		FileMenu = wxMenu()
		FileMenu.Append(ID_EXIT, #"&Exit", "App Ende")
						locale.getTextElement("menTxtEntry_Exit_Caption"),
						locale.getTextElement("menTxtEntry_Exit_AltText"))
		
		HelpMenu = wxMenu()
		HelpMenu.Append(ID_ABOUT, #"&About", "Ueber App")
						locale.getTextElement("menTxtEntry_About_Caption"),
						locale.getTextElement("menTxtEntry_About_AltText"))
		
		# create the menu bar
		menuBar = wxMenuBar()
		menuBar.Append(FileMenu, #"&File")
						locale.getTextElement("menTxtHeader_File_Caption"))
		menuBar.Append(ImageMenu, #"&Image")
						locale.getTextElement("menTxtHeader_Image_Caption"))
		menuBar.Append(HelpMenu, #"Help")
						locale.getTextElement("menTxtHeader_Help_Caption"))
		self.SetMenuBar(menuBar)

aber neben den von mir gewuenschten eintragen gibt es noch ein extra HELP-Menu - neben meinem eigenen Hilfeeintrag - und ein Eintrag Quit im Dateimenu der meinen Exitintrag ueberblendet. :x

Gruss und Danke,

Christian

Edit by Gerold: Code-Tag geschlossen.

Re: standardmenus asublenden???

Verfasst: Mittwoch 8. März 2006, 10:32
von Francesco
madRAM hat geschrieben:Hallo,

kann man wxPython davon abhalten Standardmenueintraege zu erzeugen?
Leider habe ich auch keine Idee dazu.

Kannst du statt wx.ID_EXIT, ... mal eigene id's probieren?
myidedit = wx.NewID() in der Art?

Welche wxPython Version verwendest du?
Welche platform (Windows? Linux?)

Im übrigen sollte man seit wxPython 2.5 den wx Namespace verwenden:

import wx
wx.Frame
wx.App
...


BTW: Kannst du ein komplett lauffähiges kurzes Sample erstellen, das
das Problem darstellt?

Verfasst: Mittwoch 8. März 2006, 12:05
von madRAM
ich verwende hier Python 2.4.1 auf Mac OS X 10.4 mit wxPython 2.6.

Wenn Du sagst man soll den wx-Namespace verwenden, heisst das ich muss alle meine Aufrufe der Art wxMenu oder wxFrame umschreiben, so dass sie wx.Menu und wx.Frame und so lauten?

Ich hab das mal exemplarisch versucht und dabei festgestellt, dass meine App nun einen Stacktrace erzeugt, offensichtlich ist das einfache umschreiben nicht genug, muss ich noch auf etwas anderes achten?

Vielen Dank,

Christian

Verfasst: Mittwoch 8. März 2006, 12:39
von Francesco
madRAM hat geschrieben:ich verwende hier Python 2.4.1 auf Mac OS X 10.4 mit wxPython 2.6.

Wenn Du sagst man soll den wx-Namespace verwenden, heisst das ich muss alle meine Aufrufe der Art wxMenu oder wxFrame umschreiben, so dass sie wx.Menu und wx.Frame und so lauten?
Ja, genau so.
Bei mir liegt die Beschreibung auf:
wx-2.621-msw-ansi/docs/MigrationGuide.html

madRAM hat geschrieben: Ich hab das mal exemplarisch versucht und dabei festgestellt, dass meine App nun einen Stacktrace erzeugt, offensichtlich ist das einfache umschreiben nicht genug, muss ich noch auf etwas anderes achten?
Wie lautet der Stacktrace? Kannst Du diesen mit angeben?

Verfasst: Montag 22. Mai 2006, 14:05
von daddykom
Hier die Antwort auf Deine Fragen...

http://wiki.wxpython.org/index.cgi/Opti ... r_Mac_OS_X