如何使用Tkinter和Python将小部件与按钮命令连接?

时间:2018-09-28 10:12:53

标签: python tkinter

这是我的问题:我正在尝试使用Tkinter创建一个GUI,该GUI可以读取文件夹中的多个文件并在界面上显示它们的值。 但是当我按下小部件按钮时,什么也没发生。

这是我使用的脚本,如果您不了解我的流程,请随时询问您的问题。

如果有人能帮助我,我将非常感激。

    for s in SOIList and valuesList:

        if s == selectedConfig.get() and s == selectedConfig.get():

           textfilespathB = 'C:/temp/dossiersoi2/'+s+'SOI.txt'
           textfilespathC = 'C:/temp/fichiervalues2/'+s+'val.txt'

           with open(textfilespathB, "r") as f:
               frame2 = Frame(root, width = 50, height = 100)
               frame2.grid(row = 2, column = 0)
               Label(frame2, text=f.read()).pack()

           with open(textfilespathC, "r") as f:
               frame4 = Frame(root, width = 50, height = 100)
               frame4.grid(row = 2, column = 1)
               Label(frame4, text=f.read()).pack()

        else:
            print("not working")

这是与我的脚本相关的GUI。

GUI

1 个答案:

答案 0 :(得分:0)

考虑以下代码行:

for s in SOIList and valuesList:

它没有达到您的期望。从注释到该答案的早期版本,您似乎想要并行地遍历SOIListvaluesList(即:每次循环时,您都希望从一个列表中选择一项,而从列表中选择一项其他)。

此问题的答案很好地说明了这样做的方法:How to iterate through two lists in parallel?

在您的情况下,代码如下所示:

for s, v in zip(SOIList, valuesList):
    if s == selectedConfig.get() and v == selectedConfig.get():
        ...