首页 > 解决方案 > tkinter 在具有多个 GUI 时设置条目文本变量

问题描述

如果您在 Python 中有多个 GUI,谁能解释为什么不能使用 tk.Entry textvariable?

想象一下:

我有一个程序可以打开一个 GUI,用户可以在其中选择一个文件,并且该文件的文件路径被设置为文本变量。这个变量的设置是 100% 正确的,因为如果我告诉我的程序执行这个 GUI 部分,那么我的条目就会被用户选择的文本变量填充。

现在,如果我有一个使用按钮调用此(以上)GUI 的 GUI,为什么它不起作用?

这些值没有改变,它只是在第一个之前调用了另外 1 个 GUI。

所以我认为这通常是 Python 的一个问题 - 有人知道解决方法吗?

一些代码:

# Data
catalog_file_path = StringVar()

# Functions
def getCatalogPath():
    global catalog_file
    catalog_file = filedialog.askopenfile(
        mode='r', filetypes=[("Text files", "*.txt")])
    catalog_file_path.set(catalog_file.name)
    catalog_file.reconfigure(encoding='cp1252')
    !! if I print here the value is correct !! 
    return catalog_file


# File-Path Textbox
textBox_catalog_file_path = Entry(
    gui, textvariable=catalog_file_path, width=50)
textBox_catalog_file_path.config(font=guiFont)
textBox_catalog_file_path.grid(row=0, column=1, padx=5, pady=15)

请注意,代码通常可以正常工作,但至少如果有一个 GUI 调用 Gui,文本变量就不会显示 - 所以基本上是多个 GUI。有没有类似刷新元素Funktion之类的东西?

谢谢,褪色。

标签: pythontkinter

解决方案


推荐阅读