I am trying to structure a Tkinter application with classes instead of
just with simple functions, but I'm not sure how to call methods from my
main class.

My main class is packetstreamApp(). Within that class I call various
methods, including drawGUI() and authorizeDump(). My problem comes when
I try to call authorizeDump from the Tkinter menu. Here is the code that
calls authorizeDump():

self.packetmenu.add_command(label="Start Network Monitor",
command=packetstreamApp.authorizeDump())

Here is the code for authorizeDump():

 def authorizeDump(self):
        ##do stuff here

And here is the error message that comes when I try to call authorizeDump():

Traceback (most recent call last):
  File "/Users/kevin/Programming/packetstream/packetstream-classes.py",
line 257, in <module>
    app = packetstreamApp()
  File "/Users/kevin/Programming/packetstream/packetstream-classes.py",
line 19, in __init__
    self.drawGUI()
  File "/Users/kevin/Programming/packetstream/packetstream-classes.py",
line 49, in drawGUI
    self.packetmenu.add_command(label="Start Network Monitor",
command=packetstreamApp.authorizeDump())
TypeError: unbound method authorizeDump() must be called with
packetstreamApp instance as first argument (got nothing instead)

I don't know how to interpret this error message, and so can't implement
a fix. Can anyone shed light on what I'm doing wrong?

Thanks.

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to