K
Kevin Walzer
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.
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.