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
#11
That gives a different error:

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
Quote
#12
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.
Quote
#13
Here is the entire thing. It works up to hitting the calculate button.

from Tkinter import *

root = Tk()
root.geometry("450x350+200+100")

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

        frame1 = Frame(root)
        frame1.grid

    frame_rate_8=float(17)
    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':
                feet=time/fpsecs8
                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.selection_clear()

    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)
root.mainloop()

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

Thanks Larz60+ for trying to help.
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Button not defined, why? gb_johnny 1 80 Sep-12-2017, 11:29 PM
Last Post: Lux
  [Tkinter] Selected radio button in push button in Tkinter prashantfunde91 1 206 Jun-22-2017, 05:27 PM
Last Post: DeaD_EyE
  which button should be shown gray 1 274 Mar-30-2017, 11:57 AM
Last Post: Larz60+
  Gui Button click iFunKtion 1 293 Mar-21-2017, 01:46 PM
Last Post: Larz60+
  [WxPython] Help with passing arguments into a wx.Panel ? merlem 7 664 Jan-26-2017, 02:09 PM
Last Post: merlem

Forum Jump:


Users browsing this thread: 1 Guest(s)