我正在为我创建的工程软件构建一个 GUI,作为 Python 的初学者,我在编写代码时遇到了问题。我会尽量简化我的问题并描述我想做什么:
使用 Python 和 Tkinter,我想创建一个带有 3 个 Entry 小部件的简单窗口。前两个将是我的输入。第三个,输出,应该显示前两个中插入的任何数字的总和。只要我在输入中插入任何值,输出值就应该刷新,并且不应该以任何其他方式更改(我猜是禁用或只读)。我打算在项目的其他计算中使用输出值。
在此先感谢您的帮助!
这是窗口的初始外观。尝试了很多不同的方法,但到目前为止都没有奏效。
import tkinter as tk
window = tk.Tk()
window.title("Simple window")
window_frame = tk.LabelFrame(window)
window_frame.pack()
input1_label= tk.Label(window_frame, text="input 1")
input1_label.pack()
input1_entry= tk.Entry(window_frame)
input1_entry.pack()
input2_label= tk.Label(window_frame, text="input 2")
input2_label.pack()
input2_entry= tk.Entry(window_frame)
input2_entry.pack()
output_label= tk.Label(window_frame, text="output")
output_label.pack()
output_entry= tk.Entry(window_frame)
output_entry.pack()
window.mainloop()
这是一个如何使用按钮完成的示例。请注意,我将输出更改为 Label 以使其只读:
import tkinter as tk
window = tk.Tk()
window.title("Simple window")
window_frame = tk.LabelFrame(window)
window_frame.pack()
input1_label= tk.Label(window_frame, text="input 1")
input1_label.pack()
input1_entry= tk.Entry(window_frame)
input1_entry.pack()
input2_label= tk.Label(window_frame, text="input 2")
input2_label.pack()
input2_entry= tk.Entry(window_frame)
input2_entry.pack()
output_label= tk.Label(window_frame, text="output")
output_label.pack()
output_entry= tk.Label(window_frame)
output_entry.pack()
def compute():
x1 = input1_entry.get()
x2 = input2_entry.get()
sumx = int(x1)+int(x2)
output_entry.configure(text=str(sumx))
go = tk.Button(window_frame, text="Go!", command=compute)
go.pack()
window.mainloop()