Как установить флажок с кодом в Python Tkinter? - PullRequest
0 голосов
/ 04 августа 2020

Я делал GUI с Tkinter в Python 2.7, и я хочу запускать checkbox из кода, чтобы флажок был отмечен всякий раз, когда эта функция читается. Например, предположим, что я читаю list строк, и всякий раз, когда я встречаю слово в списке под названием enable, мне нужно активировать это определенное checkbox из array других флажков, чтобы оно было отмечено галочкой; поэтому всякий раз, когда я запускаю программу, этот флажок из массива других флажков отмечен. На данный момент, что делает этот флажок, если мы отметим его, он отправляет включенное или отключенное значение функции force_download_function(i, var.get()). Но я также хочу убедиться, что если мы читаем из списка и встречаем слово «включен», оно показывает галочку на этом номере флажка, эквивалентном индексу слова «включен»

def make_force_download_button(i):
    var = StringVar()
    force_download_button_array[i] = Checkbutton(top, variable=var, onvalue='enabled', offvalue='disabled', command=lambda: force_download_function(i, var.get()))
    force_download_button_array[i].deselect()

    force_download_button_array[i].pack()
    force_download_button_array[i].place(height=30, width=30, x=420, y=(65 + ((i - 1) * 60)))

1 Ответ

1 голос
/ 04 августа 2020

В приведенном ниже коде предполагается, что вы просматриваете список слов с соответствующим индексом, как вы указали. Я использую python 3, поэтому синтаксис может немного отличаться.

list_of_words = ["disabled", "enabled", "disabled"]

for num in range(len(list_of_words)):
    if list_of_words[num] == "enabled":
        force_download_button_array[num].select()
    elif list_of_words[num] == "disabled":
        force_download_button_array[num].deselect()
...