如何 运行 对从 tkinter 文本小部件返回的文本起作用
How to run function on returned text from tkinter text widget
我的 tkinter gui 使用的是文本小部件,下面的代码是我如何 .get
输入数据的。
def all_descriptions():
data = customer_description.get("1.0", END)
print(data)
如果用户输入:
Item 1
Item 2
Item 3
它 returns 值完全一样。
Item 1
Item 2
Item 3
为了尝试以 LIST 格式返回值,我还将 .get
函数更改为以下内容:
def all_descriptions():
data = [customer_description.get("1.0", END)]
print(data)
当我这样做时,returns 条目如下:
['Item 1\nItem 2\nItem 3\n\n']
尽管我已经阅读了无数 google 和 Whosebug 线程,但我对这个过程有几个问题。
- 输入的数据是否作为字符串值返回?我发现 post 提到了这一点,但想验证一下。
- 如何访问此数据以 运行 我的功能?我尝试了几种不同的方法,但我最近的尝试如下。
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))
以上显然不起作用,因为我想在条目小部件的每一行上 运行 def item_product()
。谁能指出我正确的方向?
customer_description.get("1.0", END)
returns 单个字符串。如果您想要行列表而不是字符串,请使用 split
在换行符上拆分
此外,您应该使用 "end-1c"
而不是 "end"
或 END
。后者将获得 tkinter 自动添加的额外换行符。
return customer_description.get("1.0", "end-1c").split("\n")
我的 tkinter gui 使用的是文本小部件,下面的代码是我如何 .get
输入数据的。
def all_descriptions():
data = customer_description.get("1.0", END)
print(data)
如果用户输入:
Item 1
Item 2
Item 3
它 returns 值完全一样。
Item 1
Item 2
Item 3
为了尝试以 LIST 格式返回值,我还将 .get
函数更改为以下内容:
def all_descriptions():
data = [customer_description.get("1.0", END)]
print(data)
当我这样做时,returns 条目如下:
['Item 1\nItem 2\nItem 3\n\n']
尽管我已经阅读了无数 google 和 Whosebug 线程,但我对这个过程有几个问题。
- 输入的数据是否作为字符串值返回?我发现 post 提到了这一点,但想验证一下。
- 如何访问此数据以 运行 我的功能?我尝试了几种不同的方法,但我最近的尝试如下。
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))
以上显然不起作用,因为我想在条目小部件的每一行上 运行 def item_product()
。谁能指出我正确的方向?
customer_description.get("1.0", END)
returns 单个字符串。如果您想要行列表而不是字符串,请使用 split
此外,您应该使用 "end-1c"
而不是 "end"
或 END
。后者将获得 tkinter 自动添加的额外换行符。
return customer_description.get("1.0", "end-1c").split("\n")