Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Arguments in function for button command
That gives a different error:

Traceback (most recent call last):
  File "C:\Users\kb\Desktop\Python\GUIcalc2.py", line 12, in <module>
    class FilmCalc(Frame):
  File "C:\Users\kb\Desktop\Python\GUIcalc2.py", line 91, in FilmCalc
    calcButton = Button(root, text="Calculate", command=self.go)
NameError: name 'self' is not defined
What's really needed is a complete piece of code that I can run to see what is causing the problem.
Up to this point, I'm giving best guess. Code that you have submitted is missing import statements,
class definitions, etc.
Here is the entire thing. It works up to hitting the calculate button.

from Tkinter import *

root = Tk()

class FilmCalc(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)    
        self.parent = parent
    def initUI(self):
        self.parent.title("Film Calculator")

        frame1 = Frame(root)

    frame_rate_s8 = float(17)
    frame_rate_16 = float(20)
    frame_rate_16s = float(24)
    fpft8 = float(80)
    fpfts8 = float(72)
    fpft16 = float(40)
    fpsecs8 = fpft8/frame_rate_8
    fpsecss8 = fpfts8/frame_rate_s8
    fpsecs16 = fpft16/frame_rate_16
    fpsecs16s = fpft16/frame_rate_16s
    global spinbox1
    global entry1
    global entry2
    entry1 = IntVar(None)
    entry2 = IntVar(None)
    global time
    def go(self, event):
        def time():
            e1= entry1.get()
            e2= entry2.get()
            run_time_min= float(e1)
            run_time_sec= float(e2)
            time= run_time_min * 60 + run_time_sec
            return time
        def calc():
            sb1 = spinbox1.get()
            if sb1 == '8mm':
                print feet
                #tkMessageBox.showinfo("Tada!", feet "feet")
            elif sb1 == 'Super 8':
                feet= time/fpsecss8
                print feet
                #tkMessageBox.showinfo("Tada!", feet "feet")
            elif sb1 == '16mm':
                feet= time/fpsecs16
                print feet
                #tkMessageBox.showinfo("Tada!", feet "feet")
            elif sb1 == '16 Sound':
                feet= time/fpsecs16s
                print feet
                #tkMessageBox.showinfo("Tada!", feet "feet")

    def reset():
            entry1.delete(0, END)
            entry2.delete(0, END)

    spinbox1 = Spinbox(root, values= ("8mm", "Super 8", "16mm", "16 Sound"), wrap = TRUE)
    spinbox1.grid(row=0, column=1, padx=105, pady=15)
    lbl1 = Label(root, text="Minutes", width=8)
    lbl1.grid(row=2, column=2, pady=15, sticky=W)           
    entry1 = Entry(root, justify= RIGHT)
    entry1.grid(row=2, column=1, pady=15)
    lbl2 = Label(root, text="Seconds", width=8)
    lbl2.grid(row=3, column=2, sticky=W)        

    entry2 = Entry(root, justify= RIGHT)
    entry2.grid(row=3, column=1)
    resetButton = Button(root, text="Reset", command= reset)
    resetButton.grid(row=4, column=1, pady=100)
    calcButton = Button(root, text="Calculate", command=go)
    calcButton.grid(row=4, column=2) 
    #lbl3 = Label(root, text= entry1.cget())
    #lbl3.grid(row=5, column=1, pady= 100)
app = FilmCalc(root)

You are getting these errors because you need to learn how to use classes before using them.
Thank you for the input. I removed the classes and got it to work.

Thanks Larz60+ for trying to help.

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Button not defined, why? gb_johnny 6 458 Nov-13-2017, 12:19 AM
Last Post: Windspar
  [Tkinter] Selected radio button in push button in Tkinter prashantfunde91 1 686 Jun-22-2017, 05:27 PM
Last Post: DeaD_EyE
  which button should be shown gray 1 471 Mar-30-2017, 11:57 AM
Last Post: Larz60+
  Gui Button click iFunKtion 1 443 Mar-21-2017, 01:46 PM
Last Post: Larz60+
  [WxPython] Help with passing arguments into a wx.Panel ? merlem 7 1,008 Jan-26-2017, 02:09 PM
Last Post: merlem

Forum Jump:

Users browsing this thread: 1 Guest(s)