2017-04-17 104 views
0

我需要弄清楚如何让代码的数学部分出现在tkinter窗口上,我该怎么做?感谢您的帮助向tkinter添加字符串

from tkinter import * 
def Maths(): 
    kph = 0 
    for x in range(12): 
     kph = kph + 10 
     mph = kph * 0.6214 
     print(kph,"   ",mph) 

def main(): 
    app = Tk() 
    app.title("kph to mph") 
    app.geometry('300x450') 


Label(app, text="KPH to MPH converter").pack() 
Label(app, text="-----------------------------").pack() 
Label(app, text="KPH      MPH").pack() 
Label(app, text="-----------------------------").pack() 
b1 = Button(app, text="Convert", command=Maths) 

b1.pack(side='bottom') 

app.mainloop() 
main() 
+0

目前还不清楚你在问什么,但看起来你只需要一对[条目](http://effbot.org/tkinterbook/entry.htm)来显示速度。一个用于'kph',另一个用于'mph'。 – CommonSense

+0

我开始不得不制作一个程序,将kph值从1-12转换为等效的mph速度。但是,现在我需要为该程序创建一个接口,并且我不知道如何让代码的主要部分显示,而不必将它们全部添加为自己的标签。 – Tobleh

+0

“将它们全部添加为自己”有什么问题?您可以为此目的使用[this](http://stackoverflow.com/a/11049650/6634373)代码段。只是一张看起来像一张桌子的标签。如果您愿意,您可以从标签切换到条目。如果你不喜欢它 - 你可以尝试[listbox/treeview](https://www.daniweb.com/programming/software-development/threads/350266/creating-table-in-python)小部件。 – CommonSense

回答

0

我看到你最终使用了一个列表,但我想你可能会觉得这很有帮助。 Tkinter标签具有内置的textvariable选项,您可以设置它,并且会在设置StringVar()时进行更新。我修改了数学函数,将输出设置为标签中添加的StringVar。测试和工作。

from tkinter import * 

def Maths(): 
    #New Code 
    temp = "" 

    kph = 0 
    for x in range(12): 
     kph = kph + 10 
     mph = kph * 0.6214 

     #New Code 
     temp += ("%d   %d\n" % (kph,mph)) 
    output.set(temp) 

app = Tk() 
app.title("kph to mph") 
app.geometry('300x450') 

Label(app, text="KPH to MPH converter").pack() 
Label(app, text="-----------------------------").pack() 
Label(app, text="KPH      MPH").pack() 
Label(app, text="-----------------------------").pack() 
b1 = Button(app, text="Convert", command=Maths) 
b1.pack(side='bottom') 

#New Code 
output = StringVar() 
Label(app, textvariable=output).pack() 

app.mainloop()