我有一个勇敢的年轻朋友,他让我写一个脚本,可以为他需要的科学程序创建配置(文本)文件,并询问我是否可以将Python中的GUI组合在一起,以简化流程。我已经能够拼凑出一些可以为他提供GUI以输入他需要的一些值的GUI,但我不太确定如何通过Tkinter保存这些值。你们中的任何人都可以就可能的解决方案提出任何建议吗?
这是我到目前为止的代码:
import Tkinter
from tkFileDialog import *
window = Tkinter.Tk()
window.title('File Generator for Adam!')
# create file menu
# create a label widget called lbl
lbl = Tkinter.Label(window, text="Enter the imin value for Min")
# create matching text entry widget called ent
ent = Tkinter.Entry(window)
lbl2 = Tkinter.Label(window, text="Enter the ntx value for Min")
ent2 = Tkinter.Entry(window)
# pack (add) widgets to window
lbl.pack()
ent.pack()
lbl2.pack()
ent2.pack()
window.mainloop()
答案 0 :(得分:2)
条目小部件有一个get
方法,有详细记录。
ent1 = Tkinter.Entry(window)
...
print "the data is " + ent1.get()
通常,您会编写一个在条目小部件上调用get
方法的函数,然后从按钮调用该函数。获得数据后,将其保存到文件中,就像保存任何其他数据一样。
def save_data():
with open("output.txt", "w") as f:
f.write(ent1.get() + "\n")
f.write(ent2.get() + "\n")
...
button = Tkinter.Button(window, text="Save", command=save_data)
答案 1 :(得分:1)
一种方法是使用tkinter(Tkinter.StringVar()
)设置字符串变量对象,然后将条目的属性设置为相应的变量。像这样:
window = Tkinter.Tk()
ent1var = Tkinter.StringVar()
ent1 = Tkinter.Entry(window, textvarible=ent1var)
ent1.pack()
要检索ent1
中的内容,您需要在get()
上运行ent1var
方法。
def getent1():
return ent1var.get()
您可以在如下按钮中使用上述定义:
ent1but = Tkinter.Button(window, text="Show ent1", command=getent1)
ent1but.pack()