为什么分裂方法停止工作与Tkinter?



每当我用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/在这里,你可以很容易地做出你想要的曲线,并将代码嵌入到你的项目。我经常用这个

相关内容

  • 没有找到相关文章

最新更新