问题
I want to make the program that I made can run i make code like this
def cafe_food(self):
friedrice_items = tk.Entry(F_FItems)
friedrice_items.config(width=7, borderwidth=4, relief="sunken", font=("calibri", 10,"bold"),foreground="white", background="#248aa2")
friedrice_items.place(x=81, y=1)
def Total_Biil(self):
friedrice_price = 10
pizza_price = 20
if friedrice_items.get() != "":
friedrice_cost = friedrice_price * int(friedrice_items.get())
else:
friedrice_cost = 0
if pizza_items.get() != "":
friedrice_cost = pizza_price * int(pizza_items.get())
else:
pizza_cost = 0
total_bills = friedrice_cost + pizza_cost
if i run this code and..
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\kisah tegar\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "D:\Code\Python\Project\restaurant_mg\main.py", line 498, in Total_Bill
if friedrice_items.get() != "":
NameError: name 'friedrice_items' is not defined
[Finished in 6.3s]
this my problem:( how can i get friedrice_items in that function
回答1:
If this piece of code is in a class, try adding self.
before you variable names:
def cafe_food(self):
self.friedrice_items = tk.Entry(F_FItems)
self.friedrice_items.config(width=7, borderwidth=4, relief="sunken", font=("calibri", 10,"bold"),foreground="white", background="#248aa2")
self.friedrice_items.place(x=81, y=1)
def Total_Biil(self):
self.friedrice_price = 10
self.pizza_price = 20
if self.friedrice_items.get() != "":
self.friedrice_cost = self.friedrice_price * int(self.friedrice_items.get())
else:
self.friedrice_cost = 0
if self.pizza_items.get() != "":
self.friedrice_cost = self.pizza_price * int(self.pizza_items.get())
else:
self.pizza_cost = 0
self.total_bills = self.friedrice_cost + self.pizza_cost
self
or whatever you name it, is a global keyword, where in a class, you can access the variable anywhere inside the class.
If you don't use self
you would not be able to access it anywhere, like what happened to you before.
来源:https://stackoverflow.com/questions/65316701/how-i-can-solved-this-name-is-not-defined