0

我的 tkinter gui 正在使用文本小部件,以下代码是我.get输入数据的方式。

def all_descriptions():
    data = customer_description.get("1.0", END)
    print(data)

如果用户输入:

Item 1
Item 2
Item 3

它返回完全一样的值。

Item 1
Item 2
Item 3

为了尝试以 LIST 格式返回值,我还将.get函数更改为以下内容:

def all_descriptions():
    data = [customer_description.get("1.0", END)]
    print(data)

当我这样做时,它会返回如下条目:

['Item 1\nItem 2\nItem 3\n\n']

尽管我已经阅读了无数的 google 和 stackoverflow 线程,但我对这个过程有几个问题。

  1. 输入的数据是否以字符串值返回?我发现一个帖子提到了这一点,但想验证一下。
  2. 如何访问这些数据以运行我的功能?我已经尝试了几种不同的方法,但我最近的尝试如下。
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()在条目小部件的每一行上运行。谁能指出我正确的方向?

4

1 回答 1

0

customer_description.get("1.0", END)返回单个字符串。如果您想要行列表而不是字符串,请使用split拆分换行符

此外,您应该使用"end-1c"代替"end"or END。后者将获得 tkinter 自动添加的额外换行符。

return customer_description.get("1.0", "end-1c").split("\n")
于 2021-04-02T19:31:51.590 回答