Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2018 20:30:53

NickolayM
Зарегистрирован: 2017-12-01
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Меню на Tkinter

Вообщем написал две программы, и хочу создать меню на ткинтере,чтоб было две кнопки и если нажать на одну из них, то запустится одна из программ. Надеюсь кто-то поможет

 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()

Офлайн

#2 Янв. 15, 2018 11:18:21

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Меню на Tkinter

как то так

 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()
а вообще надо сначала изучить основы
Tk

Офлайн

#3 Янв. 15, 2018 11:28:24

NickolayM
Зарегистрирован: 2017-12-01
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Меню на Tkinter

marvellik
как то так
А куда программу вставлять? Между def click и btn?

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version