我一直在尝试使用Python创建一个用户界面(通过使用tkinter),以保存您输入的数字。在这种情况下,我希望用户能够给出测量的起始值和终止值,然后将其用代码实现。为此,我需要用户界面能够存储我输入的值。但是,到目前为止,我还无法导出具有指定值的变量。我只设法获得了值为0的变量。 有人可以帮我弄清楚我的错误吗?预先感谢!
这是我使用的代码:
import tkinter as tk
import tkinter.messagebox
root = tk.Tk()
tk.Label(root, text = "Start of measurement (index): ")
tk.Label(root, text = "End of measurement (index): ")
def add_text():
label1 = tk.Label(root, text="You have entered the start and end index of the measurement")
label1.pack()
Start = tk.DoubleVar(root)
End = tk.DoubleVar(root)
Start_measurement = Start.get()
End_measurement = End.get()
Start_label = tk.Label(root, text="Start of measurement (index): ")
Start_label.pack()
Start_text_box = tk.Entry(root, bd=1)
Start_text_box.pack()
End_label = tk.Label(root, text="End of measurement (index): ")
End_label.pack()
End_text_box = tk.Entry(root, bd=1)
End_text_box.pack()
enter_button = tk.Button(root, text="Enter", command=add_text)
enter_button.pack()
root.mainloop()
答案 0 :(得分:1)
在您的add_text
函数中,您可以首先获取文本框的字符串:
val1 = Start_text_box.get()
然后将其转换为两倍:
val1 = float(val1)
然后打印
label1 = tk.Label(root, text="You have entered the start {0} and end index of the measurement".format(val1))
答案 1 :(得分:1)
它将是变量= Start_text_box.get()或变量= End_text_box.get()。
还需要关闭窗口以供以后在代码中使用
root.quit()
root.withdraw()
例如:
def add_text():
globals()['START']=Start_text_box.get()
globals()['END']=End_text_box.get()
print("Start was ", START)
print("End was ", END)
root.quit()
root.withdraw()
之所以有globals()是因为START / END变量是在局部函数中定义的,因此要在其他地方使用它们,您需要全局分配它们。