Как связать виджет с помощью кнопки команды, используя Tkinter и Python? - PullRequest
0 голосов
/ 28 сентября 2018

Это моя проблема: я пытаюсь создать графический интерфейс с Tkinter, который может читать несколько файлов в папках и отображать их значения на интерфейсе.Но когда я нажимаю кнопку виджета, ничего не происходит.

Это сценарий, который я использую, не стесняйтесь задавать свои вопросы, если вы не понимаете мой процесс.

Я буду очень благодаренесли кто-то может мне помочь.

    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 голосов
/ 28 сентября 2018

Рассмотрим следующую строку кода:

for s in SOIList and valuesList:

Это не то, что вы ожидаете.Из комментариев к более ранней версии этого ответа кажется, что вы хотите выполнить итерацию по SOIList и valuesList параллельно (то есть: каждый раз в цикле вы хотите один элемент из одного списка и один элемент для другого).

Способ сделать это хорошо объясняется в ответах на этот вопрос: Как перебирать два списка параллельно?

В вашем случае код будет выглядеть так:

for s, v in zip(SOIList, valuesList):
    if s == selectedConfig.get() and v == selectedConfig.get():
        ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...