Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2021 14:39:37

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter.Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)

Нужно активировать кнопку 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)

Офлайн

#2 Март 25, 2021 15:50:43

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Tkinter.Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)

ужас ужас ужас,

 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]
Бериегите свое и чужое время.

Офлайн

#3 Март 25, 2021 15:58:27

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1370
Репутация: +  121  -
Профиль   Отправить e-mail  

Tkinter.Нужно активировать кнопку btn когда все Checkbutton установлена галочка( значение True)

В чем проблема?Нужно описать что непонятно,или что не получается,что делал,и тд…Эта задача для того чтобы научиться логично составить алгоритм.Составлять или создавать не означают смотреть на чужой код,или читать про это,или смотреть.Они означают о том,что ты сам своей сущностью должен пережить этот процесс, даже если ошибаешься или делаешь не правильно,дело в самом действии и намерении получить нужный тебе результат.

Вот есть у тебя код, он работает, но не выдает нужный результат, вопрос: Что ты в нем поменял, чтобы он начал выдавать нужный тебе результат?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version