我写了一个小python函数,它接受了几个数字输入参数并打印了许多带语句的行,这些语句将在实验中使用,就像这个玩具示例一样:
def myADD(x,y,z):
res = x + y + z
print("the result is: {0}+{1}+{2}={3}").format(x,y,z,res)
我想创建一个简约的GUI,只是一个调用myADD.py脚本的叠加层,我可以在这里填充参数x,y,z,然后点击" compute"按钮与print语句一起出现文本字段。
有没有人有模板,我正在研究TKinter,但我操纵其他模板的尝试并没有成功。
非常感谢帮助,谢谢。
答案 0 :(得分:3)
Tkinter是一个很棒的选择,因为它是内置的。它非常适合这种快速简约的GUI。
这是Tkinter应用程序的基本框架,可以向您展示它的简单性。您需要做的就是添加您的功能,方法是将其导入或包含在同一个文件中:
import Tkinter as tk
class Example(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.parent = parent
self.entry = {}
# the basic layout is a form on the top, and
# a submit button on the bottom
form = tk.Frame(self)
submit = tk.Button(self, text="Compute", command=self.submit)
form.pack(side="top", fill="both", expand=True)
submit.pack(side="bottom")
# this fills in the form with input widgets for each parameter
for row, item in enumerate(("x", "y", "z")):
label = tk.Label(form, text="%s:"%item, anchor="w")
entry = tk.Entry(form)
label.grid(row=row, column=0, sticky="ew")
entry.grid(row=row, column=1, sticky="ew")
self.entry[item] = entry
# this makes sure the column with the entry widgets
# gets all the extra space when the window is resized
form.grid_columnconfigure(1, weight=1)
def submit(self):
'''Get the values out of the widgets and call the function'''
x = self.entry["x"].get()
y = self.entry["y"].get()
z = self.entry["z"].get()
print "x:", x, "y:", y, "z:", z
if __name__ == "__main__":
# create a root window
root = tk.Tk()
# add our example to the root window
example = Example(root)
example.pack(fill="both", expand=True)
# start the event loop
root.mainloop()
如果您希望结果显示在窗口中,您可以创建Label
窗口小部件的另一个实例,并在执行计算时通过执行self.results_label.configure(text="the result")
之类的操作来更改它的值
答案 1 :(得分:2)