#python #tkinter
Вопрос:
У меня есть это выпадающее меню, и я хочу знать, какая кнопка нажата:
btnMenu = Menubutton(f4, text='Select your iPhone:')
contentMenu = Menu(btnMenu)
btnMenu.config(menu=contentMenu)
btnMenu.pack()
btnList = ["iPhone 6", "iPhone 6 Plus","iPhone 6S","iPhone 6S Plus", "iPhone 7", "iPhone 7 Plus","iPhone 8","iPhone 8 Plus","iPhone X"]
Например:
if "iPhone 6" was clicked:
Do something
if "iPhone 7" was clicked:
Do something
Как я могу это сделать? Спасибо
Комментарии:
1. вы должны добавить команды в меню
2. Как? Вы можете написать код?
Ответ №1:
Попробуй это. Используйте if...else
в print_
функции
from tkinter import *
root = Tk()
root.geometry("300x200")
menubutton = Menubutton(root, text = "Menu")
menu = Menu(menubutton)
menubutton["menu"]=menu
def print_(number):
print(f"Hey! {number} was clicked!")
btnList = ["iPhone 6", "iPhone 6 Plus","iPhone 6S","iPhone 6S Plus", "iPhone 7", "iPhone 7 Plus","iPhone 8","iPhone 8 Plus","iPhone X"]
for i in btnList:
menu.add_command(label=i,command=lambda i=i: print_(i))
menubutton.pack()
root.mainloop()
Комментарии:
1. Нет. Я имею в виду, если была нажата кнопка, сделайте что-нибудь. Ваш код определяет только то, какая кнопка была нажата, и выводит ее на экран
2. Я хочу точно знать, на какую кнопку нажали, и создать для этого условие.
3. @HuyVuQuang Я говорю, что
number
этот параметр содержит текст кнопки, по которой был нажат. Вы можете добавитьif
утверждение типаif number=='Iphone 6'
илиif number=='Iphone X'
4. @HuyVuQuang вам не нужно знать, какая кнопка была нажата (если вы действительно это делаете, объясните, потому что я не могу представить ни одного варианта использования), вам нужно добавить команду, которая вызывается при нажатии кнопки