Найти - Пользователи
Полная версия: Tkinter.Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)
Начало » Python для новичков » Tkinter.Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)
1
VIRTOK
Нужно активировать кнопку 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()
PEHDOM
ужас ужас ужас,
 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()
xam1816
В чем проблема?Нужно описать что непонятно,или что не получается,что делал,и тд…Эта задача для того чтобы научиться логично составить алгоритм.Составлять или создавать не означают смотреть на чужой код,или читать про это,или смотреть.Они означают о том,что ты сам своей сущностью должен пережить этот процесс, даже если ошибаешься или делаешь не правильно,дело в самом действии и намерении получить нужный тебе результат.

Вот есть у тебя код, он работает, но не выдает нужный результат, вопрос: Что ты в нем поменял, чтобы он начал выдавать нужный тебе результат?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB