每当我用chopped = first_word.split()
行运行这段代码时,我都会得到一个错误(窗口立即关闭)。
import tkinter as tk
win = tk.Tk()
win.title("Conversation")
win.iconbitmap("cake.ico")
win.geometry("600x700")
#Lists
Hellos = ["greetings", 'hello', 'greetings', 'hi']
gday = ['good', 'great', 'incredible', 'not bad', 'okay']
bday = ['bad', 'awful', 'not the best', 'terrible']
fw_label = tk.Label(win, text="Hello user, it's nice to meet you.")
fw_label.pack()
first_word = tk.Entry()
first_word.pack()
chopped = first_word.split()
但是当我将行first_word = tk.Entry()
更改为first_word="A normal string"
时,split方法高亮显示,当我悬停它时,它给出了它的描述,这与' ' ' first_word = tk.Entry() ' '没有发生。
我在使用像opencv这样的库时遇到了这个问题,我可以知道是什么导致它不工作吗?
解决方案很简单。您必须创建一个函数,以便在按提交按钮时调用它。语句chopped = first_word.get().split()
应该在函数内部。
说到错误部分,这是因为first_word
是一个类似entry
的对象,没有任何属性split()
。split方法只对字符串有效。要使文本以字符串的形式输入到条目小部件中,需要使用get()
方法…
import tkinter as tk
def click():
chopped = first_word.get().split()
print(chopped)
win = tk.Tk()
win.title("Conversation")
# win.iconbitmap("cake.ico")
win.geometry("600x700")
#Lists
Hellos = ["greetings", 'hello', 'greetings', 'hi']
gday = ['good', 'great', 'incredible', 'not bad', 'okay']
bday = ['bad', 'awful', 'not the best', 'terrible']
fw_label = tk.Label(win, text="Hello user, it's nice to meet you.")
fw_label.pack()
first_word = tk.Entry()
first_word.pack()
tk.Button(win, text="Submit", command=click).pack()
win.mainloop()
那么,你使用get()
方法获取条目的文本然后拆分它
chopped = first_word.get().split()
应该在函数内部,因为如果它在函数外部,它将在创建条目小部件时执行,并且使用get()
将导致一个空值,因为条目在那时不包含任何内容
也许这行得通
改变chopped = first_word.split()
chopped = first_word.get().split()
我无法回复你最后一个问题的评论,因为我的声誉很低。https://www.shapedivider.app/
在这里,你可以很容易地做出你想要的曲线,并将代码嵌入到你的项目。我经常用这个