如何在 tkinter 输入文本框中显示公式的结果

问题描述 投票:0回答:1

我正在为我创建的工程软件构建一个 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()
python tkinter tkinter-entry
1个回答
0
投票

这是一个如何使用按钮完成的示例。请注意,我将输出更改为 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()
© www.soinside.com 2019 - 2024. All rights reserved.