standardmenus asublenden???

Plattformunabhängige GUIs mit wxWidgets.
Antworten
madRAM
User
Beiträge: 14
Registriert: Sonntag 5. März 2006, 11:28

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.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

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?
madRAM
User
Beiträge: 14
Registriert: Sonntag 5. März 2006, 11:28

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
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

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?
daddykom
User
Beiträge: 1
Registriert: Montag 22. Mai 2006, 14:03

Hier die Antwort auf Deine Fragen...

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