Форум сайта python.su
Вообщем написал две программы, и хочу создать меню на ткинтере,чтоб было две кнопки и если нажать на одну из них, то запустится одна из программ. Надеюсь кто-то поможет
from tkinter import * app= Tk() app.geometry("800x600") f = Frame() app.title("Menu") def Gui(): app= Tk() app.geometry("1280x720") f = Frame() app.title("Converter") Label(app, text="Cm:").pack() numToConvert = Entry(app) numToConvert.pack(pady=7) Label(app, text="Kg:").pack() decNum=Entry(app) decNum.pack(padx=7) Label(app, text="Cm2").pack() secNum =Entry(app) secNum.pack(pady=10) def click(): val =numToConvert.get() val = float(numToConvert.get()) lbl_count["text"] = val /100 Label(app, text="=").pack() lbl_count = Label(f, text="0") lbl_count.pack(padx=7) btn = Button(f, text="meter", command=click) btn.pack(side="left",padx=7) def click_(): val =numToConvert.get() val = float(numToConvert.get()) lbl_count["text"] = val *10 btn = Button(f, text="millimeter", command=click_) btn.pack(side="left",padx=7) def click_1(): val =numToConvert.get() val = float(numToConvert.get()) lbl_count["text"] = val /10 btn = Button(f, text="decimeter", command=click_1) btn.pack(side="left",padx=7) def click_2(): val =numToConvert.get() val = float(numToConvert.get()) lbl_count["text"] = val * 1000*100 btn = Button(f, text="kilometer", command=click_2) btn.pack(side="left",padx=7) def click_3(): val =decNum.get() val = float(decNum.get()) lbl_count["text"] = val * 1000 btn = Button(f, text="gram", command=click_3) btn.pack(side="left",padx=7) def click_4(): val =secNum.get() val = float(secNum.get()) lbl_count["text"] = val / 10000 btn = Button(f, text="m2", command=click_4) btn.pack(side="left",padx=10) def click_5(): val =secNum.get() val = float(secNum.get()) lbl_count["text"] = val / 1000000 btn = Button(f, text="km2", command=click_5) btn.pack(side="left",padx=10) f.pack(padx=10, pady=11) f.mainloop() btn = Button(f, text="GUI Calculator", command=Gui) btn.pack(side="left",pady=7) def Txt(): ################################ kilometers_length=[" 'm' , 'cm'"] meters_length=["'cm', 'km'"] centimeters_length=["'m' , 'km'"] #################################### def km_m(): print(leng1*100, "meters") def km_cm(): print(leng1*100000, "centimeters") #################################### def m_cm(): print(leng2*100, "centimeters") def m_km(): print(leng2/1000, "kilometers") #################################### def cm_m(): print(leng3/100, "meters") def cm_km(): print(leng3/100000, "kilometers") ###################################### ans = 'y' menu_type=["'Length-1'"] while ans == 'y': ################################## print(menu_type) measure=int(input("Please select what you would like to convert by typing a number:")) if measure==1: print("Kilometers-Meters-Centimeters - 1\n") print("Meters-Kilometers-Centimeters - 2\n") print("Centimeters-Meters-Kilometers - 3\n") choice=int(input("Choose a conversion by typing a number: ")) ################################### if choice== 1: print("Please choose the measurement you want to use.\n") print(kilometers_length) distance =input("Type an option from the menu: ") if distance=="m": leng1=int(input("Please enter a number to convert: ")) print(km_m()) elif distance=="cm": leng1=int(input("Please enter a number to convert: ")) print(km_cm()) else: print("Invalid Entry") ################################################################################# if choice== 2: print("Please choose the measurement you want to use.\n") print(meters_length) distance2 =input("Type an option from the menu: ") if distance2=="cm": leng2=int(input("Please enter a number to convert: ")) print(m_cm()) elif distance2=="km": leng2=int(input("Please enter a number to convert: ")) print(m_km()) else: print("Invalid Entry") ################################################################################# if choice== 3: print("Please choose the measurement you want to use.\n") print(centimeters_length) distance =input("Type an option from the menu: ") if distance=="m": leng3=int(input("Please enter a number to convert: ")) print(cm_m()) elif distance=="km": leng3=int(input("Please enter a number to convert: ")) print(cm_km()) else: print("Invalid Entry") ans = input('Calc again? Type "y" if yes, or any for quit program:') btn = Button(f, text="Text Calculator", command=Txt) btn.pack(side="left",padx=7) f.pack(padx=10, pady=10) f.mainloop()
Офлайн
как то так
from tkinter import * def click(): btn['bg'] = 'red' print('запустилась первая программа') def click_(): btn2['bg'] = 'green' print('запустилась вторая программа') btnn = Button(f, text="новая кнопка", bg = 'yellow' ) btnn.pack(side="left",padx=7) app= Tk() app.geometry("800x600") f = Frame() f.pack() app.title("Menu") btn = Button(f, text="первая программа",command=click) btn2 = Button(f, text="вторая программа", command=click_ ) btn.pack(side="left",padx=7) btn2.pack(side="left",padx=7) app.mainloop()
Офлайн
marvellikА куда программу вставлять? Между def click и btn?
как то так
Офлайн