erstmal danke für die prompten Antworten.
so sieht der generierte Code aus, bezüglich Events, diese sind meiner Meinung nach Pseudo-Code, damit keine Fehlermeldung kommt:
Code: Alles auswählen
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version Dec 21 2016)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
###########################################################################
## Class FrameMain
###########################################################################
class FrameMain ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"wxFormbuilder Widget Examples", pos = wx.DefaultPosition, size = wx.Size( 734,355 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
bSizerFrameMain = wx.BoxSizer( wx.VERTICAL )
bSizerMainFrame = wx.BoxSizer( wx.VERTICAL )
self.m_panelMain = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
self.m_panelMain.SetBackgroundColour( wx.Colour( 254, 240, 214 ) )
bSizer8 = wx.BoxSizer( wx.VERTICAL )
bSizer9 = wx.BoxSizer( wx.VERTICAL )
bSizer14 = wx.BoxSizer( wx.VERTICAL )
self.m_staticText6 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u" Überschrift", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText6.Wrap( -1 )
self.m_staticText6.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial" ) )
bSizer14.Add( self.m_staticText6, 0, wx.ALL, 20 )
self.m_staticline2 = wx.StaticLine( self.m_panelMain, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
bSizer14.Add( self.m_staticline2, 0, wx.EXPAND |wx.ALL, 5 )
bSizer9.Add( bSizer14, 0, wx.EXPAND, 0 )
bSizer10 = wx.BoxSizer( wx.VERTICAL )
bSizer11 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText3 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"Nummer", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText3.Wrap( -1 )
bSizer11.Add( self.m_staticText3, 0, wx.ALL, 5 )
self.m_Nummer = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
bSizer11.Add( self.m_Nummer, 0, wx.ALL, 5 )
self.m_staticText31 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 150,-1 ), 0 )
self.m_staticText31.Wrap( -1 )
bSizer11.Add( self.m_staticText31, 0, wx.ALL, 0 )
self.m_staticText311 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"PLZ", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText311.Wrap( -1 )
bSizer11.Add( self.m_staticText311, 0, wx.ALL, 5 )
self.m_PLZ = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer11.Add( self.m_PLZ, 0, wx.ALL, 5 )
bSizer10.Add( bSizer11, 1, wx.ALL|wx.EXPAND, 0 )
bSizer101 = wx.BoxSizer( wx.VERTICAL )
bSizer111 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText32 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"Name", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText32.Wrap( -1 )
bSizer111.Add( self.m_staticText32, 0, wx.ALL, 5 )
self.m_Name = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
bSizer111.Add( self.m_Name, 0, wx.ALL, 5 )
self.m_staticText312 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( -1,-1 ), 0 )
self.m_staticText312.Wrap( -1 )
bSizer111.Add( self.m_staticText312, 0, wx.ALL, 0 )
self.m_staticText3111 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"Vorname", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText3111.Wrap( -1 )
bSizer111.Add( self.m_staticText3111, 0, wx.ALL, 5 )
self.m_Vorname = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
bSizer111.Add( self.m_Vorname, 0, wx.ALL, 5 )
bSizer101.Add( bSizer111, 1, wx.ALL|wx.EXPAND, 0 )
bSizer10.Add( bSizer101, 1, wx.EXPAND, 5 )
bSizer12 = wx.BoxSizer( wx.VERTICAL )
bSizer13 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText4 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"Strasse", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText4.Wrap( -1 )
bSizer13.Add( self.m_staticText4, 0, wx.ALL, 5 )
self.mbutton4 = wx.Button( self.m_panelMain, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 )
self.mbutton4.Hide()
bSizer13.Add( self.mbutton4, 0, wx.ALL, 5 )
self.m_Strasse = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
bSizer13.Add( self.m_Strasse, 0, wx.ALL, 5 )
self.m_staticText41 = wx.StaticText( self.m_panelMain, wx.ID_ANY, u"Ort", wx.DefaultPosition, wx.Size( 50,-1 ), 0 )
self.m_staticText41.Wrap( -1 )
bSizer13.Add( self.m_staticText41, 0, wx.ALL, 5 )
self.m_Ort = wx.TextCtrl( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 )
bSizer13.Add( self.m_Ort, 0, wx.ALL, 5 )
bSizer12.Add( bSizer13, 1, wx.EXPAND, 0 )
self.m_staticline21 = wx.StaticLine( self.m_panelMain, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
bSizer12.Add( self.m_staticline21, 0, wx.EXPAND |wx.ALL, 5 )
bSizer10.Add( bSizer12, 0, wx.ALL|wx.EXPAND, 0 )
bSizer16 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText20 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 10,-1 ), 0 )
self.m_staticText20.Wrap( -1 )
bSizer16.Add( self.m_staticText20, 0, wx.ALL, 5 )
self.mzurück = wx.Button( self.m_panelMain, wx.ID_ANY, u"zurück", wx.DefaultPosition, wx.DefaultSize, 0 )
self.mzurück.SetFont( wx.Font( 9, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD, False, "Arial" ) )
self.mzurück.SetBackgroundColour( wx.Colour( 255, 255, 0 ) )
bSizer16.Add( self.mzurück, 0, wx.ALL, 5 )
self.m_staticText201 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 400,-1 ), 0 )
self.m_staticText201.Wrap( -1 )
bSizer16.Add( self.m_staticText201, 0, wx.ALL, 5 )
self.mnext = wx.Button( self.m_panelMain, wx.ID_ANY, u"nächster", wx.DefaultPosition, wx.DefaultSize, 0 )
self.mnext.SetFont( wx.Font( 9, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD, False, "Arial" ) )
self.mnext.SetBackgroundColour( wx.Colour( 255, 255, 0 ) )
bSizer16.Add( self.mnext, 0, wx.ALL, 5 )
bSizer10.Add( bSizer16, 1, wx.EXPAND, 5 )
bSizer15 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText131 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 150,-1 ), 0 )
self.m_staticText131.Wrap( -1 )
bSizer15.Add( self.m_staticText131, 0, wx.ALL, 0 )
self.mSpeichern = wx.Button( self.m_panelMain, wx.ID_ANY, u"Speichern", wx.DefaultPosition, wx.DefaultSize, 0|wx.RAISED_BORDER )
self.mSpeichern.SetBackgroundColour( wx.Colour( 21, 255, 80 ) )
bSizer15.Add( self.mSpeichern, 0, wx.ALL, 10 )
self.m_staticText13 = wx.StaticText( self.m_panelMain, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 100,-1 ), 0 )
self.m_staticText13.Wrap( -1 )
bSizer15.Add( self.m_staticText13, 0, wx.ALL, 0 )
self.mAbbrechen = wx.Button( self.m_panelMain, wx.ID_ANY, u"Abbrechen", wx.DefaultPosition, wx.DefaultSize, 0 )
self.mAbbrechen.SetBackgroundColour( wx.Colour( 255, 0, 0 ) )
bSizer15.Add( self.mAbbrechen, 0, wx.ALL, 10 )
bSizer10.Add( bSizer15, 1, wx.EXPAND, 0 )
bSizer9.Add( bSizer10, 0, wx.ALL, 0 )
bSizer8.Add( bSizer9, 1, wx.ALL|wx.EXPAND, 0 )
self.m_panelMain.SetSizer( bSizer8 )
self.m_panelMain.Layout()
bSizer8.Fit( self.m_panelMain )
bSizerMainFrame.Add( self.m_panelMain, 1, wx.EXPAND |wx.ALL, 0 )
bSizerFrameMain.Add( bSizerMainFrame, 1, wx.ALL|wx.EXPAND, 0 )
self.SetSizer( bSizerFrameMain )
self.Layout()
self.menubarMain = wx.MenuBar( 0 )
self.menufile = wx.Menu()
self.menuItemFileNew = wx.MenuItem( self.menufile, wx.ID_ANY, u"Neu"+ u"\t" + u"Ctrl+N", wx.EmptyString, wx.ITEM_NORMAL )
self.menufile.AppendItem( self.menuItemFileNew )
self.menuItemFileOpen = wx.MenuItem( self.menufile, wx.ID_ANY, u"Öffnen"+ u"\t" + u"Ctrl+O", wx.EmptyString, wx.ITEM_NORMAL )
self.menufile.AppendItem( self.menuItemFileOpen )
self.menufile.AppendSeparator()
self.MenuBeenden = wx.MenuItem( self.menufile, wx.ID_ANY, u"Beenden", wx.EmptyString, wx.ITEM_NORMAL )
self.menufile.AppendItem( self.MenuBeenden )
self.menubarMain.Append( self.menufile, u"Datei" )
self.menueEdit = wx.Menu()
self.m_menuItem13 = wx.MenuItem( self.menueEdit, wx.ID_ANY, u"Bearb Zeile1"+ u"\t" + u"Ctrl+B", wx.EmptyString, wx.ITEM_NORMAL )
self.menueEdit.AppendItem( self.m_menuItem13 )
self.menubarMain.Append( self.menueEdit, u"Bearbeiten" )
self.menueHelp = wx.Menu()
self.menubarMain.Append( self.menueHelp, u"Hilfe" )
self.SetMenuBar( self.menubarMain )
self.Centre( wx.BOTH )
# Connect Events
self.mAbbrechen.Bind( wx.EVT_BUTTON, self.m_AbbrechenOnButtonClick )
self.mAbbrechen.Bind( wx.EVT_ENTER_WINDOW, self.m_AbbrechenOnEnterWindow )
self.mAbbrechen.Bind( wx.EVT_LEAVE_WINDOW, self.m_AbbrechenOnLeaveWindow )
self.Bind( wx.EVT_MENU, self.FileNewOnMenuSelection, id = self.menuItemFileNew.GetId() )
self.Bind( wx.EVT_MENU, self.menuItemFileOpenOnMenuSelection, id = self.menuItemFileOpen.GetId() )
self.Bind( wx.EVT_MENU, self.MenuBeendenOnMenuSelection, id = self.MenuBeenden.GetId() )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def m_AbbrechenOnButtonClick( self, event ):
event.Skip()
def m_AbbrechenOnEnterWindow( self, event ):
event.Skip()
def m_AbbrechenOnLeaveWindow( self, event ):
event.Skip()
def FileNewOnMenuSelection( self, event ):
event.Skip()
def menuItemFileOpenOnMenuSelection( self, event ):
event.Skip()
def MenuBeendenOnMenuSelection( self, event ):
event.Skip()
jetzt möchte ich konkret das Programm beenden, wenn im Menü der entsprechende Eintrag angewählt wird,
dazu muss ich den Event überschreiben. Das möchte ich aber in dem Script machen, das den generierten Code importiert,
einer meiner vielen Code-Versuche sieht so aus (neue Klasse "Zusatz"), der hier programmierte Code wird aber nicht ausgeführt,
sprich, das Programm wird nicht beendet. Füge ich das direkt in den generierten Code ein, da funktioniert alles.
Ich habe in der Doku von wxpython bezüglich Event-Handel auch gefunden, dass ein Überschreiben eines Events gar keine neue Klasse braucht, hilft aber auch nicht