我的第一篇文章在这里。请帮帮我我所要做的就是在Ctkframe的Ctkentry小部件中显示单词“yay”。
我收到这个错误:名称错误:名称'word'未定义。您的意思是:命令?
import customtkinter as ctk
ctk.set_appearance_mode("dark")
class Frame1(ctk.CTkFrame):
def __init__(self, master, word):
super().__init__(master)
self.name = ctk.CTkLabel(self, text="Name", fg_color="transparent")
self.name.grid(row=1, column=0, padx=10, pady=10, sticky="w")
self.name_x = ctk.CTkEntry(self, width = 300, placeholder_text="")
self.name_x.grid(row=1, column=1, padx=10, pady=10, sticky="e")
self.name_x.insert(word)
class App(ctk.CTk):
def __init__(self):
super().__init__()
self.title("CRD Master")
self.geometry("1000x650")
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
self.acc_no = ctk.CTkEntry(self, width = 60, placeholder_text="Acc. no.")
self.acc_no.grid(row=0, column=0, padx=10, pady=10, sticky="w")
self.button = ctk.CTkButton(self, width = 60, text="get", command=self.button_callback)
self.button.grid(row=0, column=0, padx=10, pady=10, sticky="e")
frame = Frame1(self, word)
frame.grid(row=1, column=0, padx=10, pady=(10, 0), sticky="nsw")
def button_callback(self):
word = "yay"
app=App()
app.mainloop()
我花了几个小时在这上面,但不能弄清楚,互联网也没有答案。是的,这个错误可能解释了这个问题,但是我仍然不明白如何将一个值传递到一个类中并显示该值。
2条答案
按热度按时间92dk7w1h1#
NameError: name 'word' is not defined. Did you mean: 'ord'?
这个错误来自第31行:
你没有在代码中定义
word
。也许你认为这个函数定义了它:
但是
1.直到按钮被按下时才调用该函数。
1.即使之前调用了这个函数,你仍然会得到这个错误,因为你是在
button_callback
函数的本地定义它。另一件要提到的事情是,在你修复这个错误之后,你会得到另一个错误:
这是因为
.insert()
函数接收两个参数:index
和value
。你在索引参数位置提供了值,所以函数没有得到任何值。你可以像这样修复这个错误:
编辑
这里有一种方法可以修复你的代码:
Frame1
__init__
函数中删除了word
参数,因为它是不必要的。如果你需要的话,你可以修改以下代码:和
另外,在当前实现中,不需要
self.word
。如果你想获取entry
的内容,你可以简单地使用self.name_x.get()
。ifmq2ha22#
我已经使用了你的建议,但仍然没有成功地在ctkframe中的条目小部件中显示单词'yay'。我没有得到错误或想要的结果,也没有互联网资源显示如何将数据输出到ctk框架类中的入口小部件,这应该是一个简单的任务。请带我去看看