Apr-12-2017, 02:18 PM
Hi got a little problem with my code im trying to multiply 3 diffrent variables and show the resault in a messagebox but im getting an error. I know my code to multiply the variables are wrong. But i dont know really how to do it. Could some one help me?
error.
error.
Error:Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Xzenon\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "C:\Users\Xzenon\Desktop\skatt rese avdrag.py", line 38, in resultat
self.resultat.set(float(self.Arbetsdagar.get())*float(self.Mil.get()*float(self.ersättning.get())))
TypeError: can't multiply sequence by non-int of type 'float'
My codeimport tkinter as tk from tkinter import messagebox class Demo1: def __init__(self, master): self.master = master self.frame = tk.Frame(self.master) self.Arbetsdagar = tk.IntVar() self.Mil = tk.IntVar() self.ersättning = tk.IntVar() self.ersättning.set(18.50) self.Arbetsdagarl = tk.Label(self.frame, text = 'Arbetsdagar', font=('Arial', 20, 'bold'), width = 25) self.Arbetsdagarl.pack(padx=5, pady=2) self.Arbetsdagar = tk.Entry(self.frame, font=('Arial', 20, 'bold'), textvariable=self.Arbetsdagar, width = 25) self.Arbetsdagar.pack(padx=5, pady=5) self.Mill = tk.Label(self.frame, text = 'Mil', font=('Arial', 20, 'bold'), width = 25) self.Mill.pack(padx=5, pady=2) self.Mil = tk.Entry(self.frame, font=('Arial', 20, 'bold'), textvariable=self.Mil, width = 25) self.Mil.pack(padx=5, pady=5) self.ersättningl = tk.Label(self.frame, text = 'Ersättning', font=('Arial', 20, 'bold'), width = 25) self.ersättningl.pack(padx=5, pady=2) self.ersättning = tk.Entry(self.frame, font=('Arial', 20, 'bold'), textvariable=self.ersättning, width = 25) self.ersättning.pack(padx=5, pady=5) self.Button2 = tk.Button(self.frame, text = 'Resultat', font=('Arial', 20, 'bold'), width = 25, command = self.resultat) self.Button2.pack(padx=5, pady=5) self.quitButton = tk.Button(self.frame, text = 'Stäng', font=('Arial', 20, 'bold'), width = 25, command = self.close_windows) self.quitButton.pack(padx=5, pady=5) self.frame.pack() def close_windows(self): self.master.destroy() def resultat(self): self.resultat = tk.IntVar() self.resultat.set(float(self.Arbetsdagar.get())*float(self.Mil.get()*float(self.ersättning.get()))) messagebox.showwarning("Din ersättning är " (self.resultat)) def main(): root = tk.Tk() app = Demo1(root) root.mainloop() if __name__ == '__main__': main()