问题描述
我的 tkinter gui 正在使用文本小部件,以下代码是我如何.get@H_404_2@ 输入数据。
def all_descriptions():
data = customer_description.get("1.0",END)
print(data)
@H_404_2@
如果用户输入:
Item 1
Item 2
Item 3
@H_404_2@
它返回的值完全一样。
Item 1
Item 2
Item 3
@H_404_2@
为了以 LIST 格式返回值,我还将 .get@H_404_2@ 函数更改为以下内容:
def all_descriptions():
data = [customer_description.get("1.0",END)]
print(data)
@H_404_2@
当我这样做时,它返回这样的条目:
['Item 1\nItem 2\nItem 3\n\n']
@H_404_2@
尽管我已经阅读了无数的 google 和 stackoverflow 线程,但我对这个过程有几个问题。
original_description = (all_descriptions())
# Product for Item One
def item_product(original_description,product_dict):
for key in product_dict :
if key in original_description():
return product_dict[key]
return ("What product is this?")
print(item_product(original_description,product_dict))
@H_404_2@
以上显然不起作用,因为我想在条目小部件的每一行上运行 def item_product()@H_404_2@。谁能指出我正确的方向?
解决方法
customer_description.get("1.0",END)
返回单个字符串。如果你想要一个行列表而不是一个字符串,用 split
此外,您应该使用 "end-1c"
而不是 "end"
或 END
。后者将获得 tkinter 自动添加的额外换行符。
return customer_description.get("1.0","end-1c").split("\n")