Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2023 14:17:32

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Как определить кокая кнопка нажата? Tkinter

Distrmaster
Спасибо за код но я не понимаю зачем нужны эти цифры и как работает код. Просто я Python изучаю около 2-х месяцев по этому не очень много знаю
А я три месяца с перерывами, и что теперь делать будем?

Вот, написал свой говнокод примерно для ваших целей.
 import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('300x500+200+100')
mainframe = tk.Frame(root)
# логика игры
step5 = [[],[], 'до новых встреч']
step4 = [['конец игры'], [step5,], 'Кушать подано']
step3 = [['проснуться','Есть'], [step5, step4], 'сон']
step2 = [['Eсть', 'спать'],[step4, step3], 'что хочешь?']
step1 = [['ОК',],[step2,], 'первая страница']
# игра
def game(option=step1):
    global mainframe
    mainframe.destroy()
    mainframe = tk.Frame(root)
    mainframe.pack()
    text = tk.Label(mainframe, text=option[2])
    text.pack()
    count = 0
    for item in option[1]:
        locals()[count] = ttk.Button(mainframe, text=option[0][count],
                                        command=lambda i=item: game(i))
        locals()[count].pack(anchor="nw")
        count += 1
# точка входа
if __name__ == '__main__':
    game()
    root.mainloop()

Отредактировано m1r42 (Янв. 19, 2023 14:55:55)

Офлайн

#2 Янв. 19, 2023 17:38:19

Distrmaster
Зарегистрирован: 2023-01-14
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Как определить кокая кнопка нажата? Tkinter

m1r42
Спасибо огромное за код! Буду изучать



11010000 10100011 11010000 10110110 11010000 10110101 00100000 11010000 10111011 11010000 10110101 11010001 10000111 11010001 10000011 00100001

Офлайн

#3 Янв. 21, 2023 13:41:44

Distrmaster
Зарегистрирован: 2023-01-14
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Как определить кокая кнопка нажата? Tkinter

m1r42
Ещё раз спасибо! Разобрался в коде и получил много полезных знаний и удовольствия! Теперь программа работает



11010000 10100011 11010000 10110110 11010000 10110101 00100000 11010000 10111011 11010000 10110101 11010001 10000111 11010001 10000011 00100001

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version