Форум сайта python.su
0
Здравствуйте! Помогите пожалуйста
. Нужно чтобы в одной функции определялось кокая кнопка нажата
Отредактировано Distrmaster (Янв. 18, 2023 18:23:11)
Офлайн
7
Distrmasterhttps://metanit.com/python/tkinter/2.20.php
Здравствуйте! Помогите пожалуйста. Нужно чтобы через if проверялось перекрывает ли курсор кнопку.
Офлайн
0
m1r42Мне нужно чтобы именно через if была проверка
Офлайн
7
DistrmasterТогда не понимаю, зачем? Если есть готовое решение.
Мне нужно чтобы именно через if была проверка
Офлайн
0
m1r42Извините не правильно сформулировал. Мне нужно чтобы в одной функции определялось кокая кнопка нажата
Отредактировано Distrmaster (Янв. 18, 2023 18:27:44)
Офлайн
61
if func_name() == "some key": tratata
Офлайн
7
DistrmasterВсе равно не понятно о чем речь. Надо таки код.
Извините не правильно сформулировал. Мне нужно чтобы в одной функции определялось кокая кнопка нажата
from tkinter import * from tkinter import ttk root = Tk() root.geometry("250x200") def some_func(): print('я кнопка, я нажата') def some_func2(): print('я другая кнопка, я нажата') btn = ttk.Button(text="Click", command=some_func) btn.pack(anchor=CENTER, expand=1) btn = ttk.Button(text="Click", command=some_func2) btn.pack(anchor=CENTER, expand=1)
Офлайн
0
m1r42
import a import main import tkinter as tk i = 0 button_index = 0 button_array = [] win = tk.Tk() b = main.Game() def button_Down(): global text_1 global button def button_0(e): button_index = i i = len(button_array) for d in range(i): button_array[d].bind('<ButtonPress>', button_0) button_array if main.def_name == a.start_game() and button_array[0]['text'] == 'Ок': b = main.Game() text_1.destroy() for i in range(len(button_array)): button_array[i].destroy() button_array.clear() main.def_name = a.start_game_Ок() b = main.Game() text_1 = tk.Label(win, text=b[0]) text_1.pack() for i in range(len(b) - 1): button_array.append(tk.Button(text=b[i + 1], command=button_Down)) button_array[i].pack() return if main.def_name == a.start_game_Ок() and button_array[0]['text'] == 'Я боюсь!' : def l(e): global text_1 b = main.Game() text_1.destroy() for i in range(len(button_array)): button_array[i].destroy() button_array.clear() main.def_name = a.start_game_Ок() b = main.Game() text_1 = tk.Label(win, text=b[0]) text_1.pack() for i in range(len(b) - 1): button_array.append(tk.Button(text=b[i + 1], command=button_Down)) button_array[i].pack() text_1 = tk.Label(win, text=b[0]) text_1.pack() for i in range(len(b) - 1): button_array.append(tk.Button(text=b[i + 1], command=button_Down)) button_array[i].pack() h = 200 w = 400 win.geometry(f'{w}x{h}+500+200') win.mainloop()
def start_game(): return ['Текстовое приключение', 'Ок'] def start_game_Ок(): return ['Тут мой текст', 'кнопка 1','кнопка 2']
import a def_name = a.start_game() def Game(): rtrn = def_name print (rtrn) return rtrn
Отредактировано Distrmaster (Янв. 19, 2023 12:47:12)
Офлайн
7
DistrmasterГмм, код я зря попросил
Distrmaster
. Где-то эту тему я уже поднимал. Динамически создает кнопки и они работают как надо.import tkinter as tk from tkinter import ttk root = tk.Tk() root.geometry('300x500+200+100') buttons= [1, 2, 3, 4, 5] def press_button(show): print(show) for item in buttons: locals()["button"+str(item)] = ttk.Button(root, text="button"+str(item), command=lambda i=item: press_button(i)) locals()["button"+str(item)].pack(anchor="nw") print(id(locals()["button"+str(item)]))
Отредактировано m1r42 (Янв. 19, 2023 13:20:19)
Офлайн
0
m1r42Спасибо за код но я не понимаю зачем нужны эти цифры и как работает код. Просто я Python изучаю около 2-х месяцев по этому не очень много знаю
Офлайн