Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 7, 2017 11:06:12

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

При нажатии на кнопку текст появлялся только 1 раз

Доброе утро.
Есть код:

 from tkinter import *
root = Tk()
root.title("Окно")
root.geometry("300x250")
#
def btn_click(event):
    button1.config(state='disabled')   # Изменить сосотояние
    tex=Label(text="AAAAAA")
    tex.pack()
#
#
button1 = Button(text="Ок")
button1.bind("<Button-1>", btn_click)  # связка с событием клика ЛКМ
button1.pack()
root.mainloop()
Подскажите, пожалуйста, как сделать так, чтобы при нажатии на кнопку текст выводился только 1 раз, т.е. после повторных нажатий, чтобы текст повторно не выводился?

Отредактировано FishHook (Авг. 7, 2017 11:46:02)

Офлайн

#2 Авг. 7, 2017 11:47:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

При нажатии на кнопку текст появлялся только 1 раз

makar120
Очевидно, что нужно завести переменную, в которой будет храниться состояние “была ли нажата кнопка” и проверять это состояние перед выводом текста



Офлайн

#3 Авг. 7, 2017 12:07:56

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

При нажатии на кнопку текст появлялся только 1 раз

FishHook
А каким образом это реализовать при помощи кода?

Офлайн

#4 Авг. 7, 2017 12:15:07

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

При нажатии на кнопку текст появлялся только 1 раз

makar120
А каким образом это реализовать при помощи кода?
Давайте действовать поэтапно. Новую переменную логического типа в своем коде вы завести в состоянии?



Офлайн

#5 Авг. 7, 2017 12:29:45

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

При нажатии на кнопку текст появлялся только 1 раз

FishHook
Да

Офлайн

#6 Авг. 7, 2017 12:33:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

При нажатии на кнопку текст появлялся только 1 раз

makar120
Ну вперед, показывайте код



Офлайн

#7 Авг. 7, 2017 12:39:07

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

При нажатии на кнопку текст появлялся только 1 раз

FishHook

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

Отредактировано FishHook (Авг. 7, 2017 12:41:50)

Офлайн

#8 Авг. 7, 2017 12:41:32

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

При нажатии на кнопку текст появлялся только 1 раз

makar120
Давайте вы сами будете код форматировать в дальнейшем?

[code python][/code]



Офлайн

#9 Авг. 7, 2017 12:43:19

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

При нажатии на кнопку текст появлялся только 1 раз

makar120
Ну и где в вашем коде переменная состояния “была ли нажата кнопка”?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version