Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 7, 2017 00:23:32

makar120
Зарегистрирован: 2017-08-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтобы кнопка блокировалась после 1-го нажатия на нее

Доброй ночи!
Есть код для кнопки:

from tkinter import *

root = Tk()
root.title(“Окно”)
root.geometry(“300x250”)

btn = Button(text=“Ок”)
btn.pack()

root.mainloop()

Подскажите, пожалуйста, как сделать так, чтобы кнопка после первого нажатия левой кнопкой мыши блокировалась (т.е. становилась не кликабельной) или исчезала?

Офлайн

#2 Авг. 7, 2017 00:44:54

ViktorR
Зарегистрирован: 2017-06-25
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтобы кнопка блокировалась после 1-го нажатия на нее

Так сработает при клике левой кнопкой.

 from tkinter import *
root = Tk()
root.title("Окно")
root.geometry("300x250")
#
def btn_click(event):
    btn.config(state='disabled')   # Изменить сосотояние
    print('sss')
#
#
btn = Button(text="Ок")
btn.bind("<Button-1>", btn_click)  # связка с событием клика ЛКМ
btn.pack()
root.mainloop()

Как-то так, …

Офлайн

#3 Авг. 7, 2017 01:21:02

makar120
Зарегистрирован: 2017-08-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтобы кнопка блокировалась после 1-го нажатия на нее

Спасибо.
И сразу возник вопрос:
каким образом реализовать, чтобы при нажатии левой кнопкой мыши на кнопку выполнялись сразу 2 условия: блокировка кнопки и переход программы к заданной функции?
Понимаю, так?
from tkinter import *
root = Tk()
root.title(“Окно”)
root.geometry(“300x250”)
#
def btn_click(event):
button1.config(state='disabled') # Изменить сосотояние
print('sss')
#
#
button1 = Button(text=“Ок”, command=lambda:rez()) #задаем команду, что при клике на “Ок”, программа начинает выполнять функцию rez()
button1.bind(“<Button-1>”, btn_click) # связка с событием клика ЛКМ
button1.pack()

def rez():




root.mainloop()

Офлайн

#4 Авг. 7, 2017 12:09:45

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Чтобы кнопка блокировалась после 1-го нажатия на нее

makar120
чтобы при нажатии левой кнопкой мыши на кнопку выполнялись сразу 2 условия
назначьте функцию кнопки а в функции первой строкой деактивируйте кнопку, в конце функции опять активируем кнопку
 from tkinter import *
root = Tk()
root.title('Окно')
root.geometry('300x250')
def rez():
    button1['command'] = 'disabled'
    # основной код функции
    #
    #
    #
    button1['command'] = rez
button1 = Button(text='Ок', command=rez) #задаем команду, что при клике на “Ок”, программа начинает выполнять функцию rez() 
button1.pack()
root.mainloop()

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version