By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,035 Members | 1,984 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,035 IT Pros & Developers. It's quick & easy.

wxGlade

P: n/a
hi,given that I'm a newbie in python,
I have a little problem with wx...
Maybe it's a stupid thing,but if u want help me!
I used wxglade to generate a simple window with a button!
wxglade generates the code,and now I try to insert events,but I have an
error,I don't understand!
The code is this:

from wxPython.wx import *

class MyFrame(wxFrame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wxDEFAULT_FRAME_STYLE
wxFrame.__init__(self, *args, **kwds)
self.button_1 = wxButton(self, -1, "button_1")

self.__set_properties()
self.__do_layout()
# end wxGlade
EVT_BUTTON(self, 1003, self.event)

def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("frame_1")
# end wxGlade

def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wxBoxSizer(wxVERTICAL)
sizer_1.Add(self.button_1, 0, 0, 0)
self.SetAutoLayout(1)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
sizer_1.SetSizeHints(self)
self.Layout()
# end wxGlade
def event(self):
print "ciao"

# end of class MyFrame
class MyApp(wxApp):
def OnInit(self):
frame = MyFrame(NULL, -1, "Hello from wxPython")
frame.Show(true)
self.SetTopWindow(frame)
return true

app = MyApp(0)
app.MainLoop()

Thanks
-pilu-
Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
I'm a newbie regarding wxPython, nevertheless I worked this out:
class MyFrame(wxFrame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wxDEFAULT_FRAME_STYLE
wxFrame.__init__(self, *args, **kwds)
self.button_1 = wxButton(self, -1, "button_1")
self.__set_properties()
self.__do_layout()
# end wxGlade
EVT_BUTTON(self, 1003, self.event)
You have to set the identifier of the button:
self.button_1 = wxButton(self, 1003, "button_1")
def event(self):
print "ciao"


The triggered method also needs the event as a parameter:

def event(self, event):
print "ciao"
Markus
Jul 18 '05 #2

P: n/a
Markus Faltin wrote:
I'm a newbie regarding wxPython, nevertheless I worked this out:

class MyFrame(wxFrame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wxDEFAULT_FRAME_STYLE
wxFrame.__init__(self, *args, **kwds)
self.button_1 = wxButton(self, -1, "button_1")
self.__set_properties()
self.__do_layout()
# end wxGlade
EVT_BUTTON(self, 1003, self.event)

You have to set the identifier of the button:
self.button_1 = wxButton(self, 1003, "button_1")


Not necessarily, you can keep the -1 designation and then
EVT_BUTTON(self, self.button_1.GetId(), self.event)

I prefer this method since it is less book keeping for me.

Brian Kelley

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.