Форум сайта python.su
Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)
Код который у меня получился
#!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * def action(): print("Запущено выполнение действия") ########################################################################################################### root = Tk() root.title("тест") root.geometry("500x300")#Задаем размер главного окна и его расположение root.resizable(width=False, height=False)#Зафиксировать размер окна ########################################################################################################### label1_text = "Выполните условия" label1 = Label(text=label1_text, justify=LEFT) label1.grid(row=0, column=0, sticky=W) ########################################################################################################### #Условие 1 выполнено Condition_1 = IntVar() Condition_1 = Checkbutton(text="Условие 1 выполнено", variable=Condition_1) Condition_1.grid(row=1, column=0, sticky=W) ########################################################################################################### #Условие 2 выполнено Condition_2 = IntVar() Condition_2 = Checkbutton(text="Условие 2 выполнено",variable=Condition_2) Condition_2.grid(row=2, column=0, sticky=W) ########################################################################################################### #Условие 3 выполнено Condition_3 = IntVar() Condition_3 = Checkbutton(text="Условие 3 выполнено",variable=Condition_3) Condition_3.grid(row=3, column=0, sticky=W) ########################################################################################################### btn = Button(text="Выполнить действие", command=lambda:action()) btn.place(x=10,y=260) ########################################################################################################### root.mainloop()
Отредактировано VIRTOK (Март 25, 2021 14:45:18)
Офлайн
ужас ужас ужас,
Condition_1 = IntVar() Condition_1 = Checkbutton(text="Условие 1 выполнено", variable=Condition_1) Condition_1.grid(row=1, column=0, sticky=W)
#!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * def action(): print("Запущено выполнение действия") def check(): if Condition_1_v.get() and Condition_2_v.get() and Condition_3_v.get(): btn["state"] = "active" else: btn["state"] = "disabled" ########################################################################################################### root = Tk() root.title("тест") root.geometry("500x300")#Задаем размер главного окна и его расположение root.resizable(width=False, height=False)#Зафиксировать размер окна ########################################################################################################### label1_text = "Выполните условия" label1 = Label(text=label1_text, justify=LEFT) label1.grid(row=0, column=0, sticky=W) ########################################################################################################### #Условие 1 выполнено Condition_1_v = IntVar() Condition_1 = Checkbutton(text="Условие 1 выполнено", variable=Condition_1_v,command = check) Condition_1.grid(row=1, column=0, sticky=W) ########################################################################################################### #Условие 2 выполнено Condition_2_v = IntVar() Condition_2 = Checkbutton(text="Условие 2 выполнено",variable=Condition_2_v, command = check) Condition_2.grid(row=2, column=0, sticky=W) ########################################################################################################### #Условие 3 выполнено Condition_3_v = IntVar() Condition_3 = Checkbutton(text="Условие 3 выполнено",variable=Condition_3_v, command = check) Condition_3.grid(row=3, column=0, sticky=W) ########################################################################################################### btn = Button(text="Выполнить действие", command=lambda:action()) btn.place(x=10,y=260) btn["state"] = "disabled" ########################################################################################################### root.mainloop()
[code python][/code]
Офлайн
В чем проблема?Нужно описать что непонятно,или что не получается,что делал,и тд…Эта задача для того чтобы научиться логично составить алгоритм.Составлять или создавать не означают смотреть на чужой код,или читать про это,или смотреть.Они означают о том,что ты сам своей сущностью должен пережить этот процесс, даже если ошибаешься или делаешь не правильно,дело в самом действии и намерении получить нужный тебе результат.
Вот есть у тебя код, он работает, но не выдает нужный результат, вопрос: Что ты в нем поменял, чтобы он начал выдавать нужный тебе результат?
Офлайн