You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter如何实现点击按钮弹窗显示Entry输入框内容

Tkinter计算器输入框内容输出实现方案

核心逻辑:通过Entry控件的get()方法即可获取输入框内的文本内容,拿到内容后可选择弹窗展示或窗口内标签展示两种输出方式。

前置说明

如果需要用消息框弹窗展示内容,要先在文件头部导入messagebox模块:

from tkinter import messagebox

原代码设置的窗口尺寸100x50过小,控件会被挤压显示不全,建议调整为260x380适配所有按钮。

两种输出实现方式

  • 方式1:消息弹窗展示
    提交按钮直接绑定lambda逻辑,获取输入内容后调用messagebox弹窗即可,不需要额外新增控件:
    Button(master, text="Submit",width=23, height=3, 
    command=lambda: messagebox.showinfo("提交结果", f"输入内容:{self.e.get()}")
    ).grid(row=5, column=0, columnspan=3)
    
  • 方式2:窗口内Label标签展示
    先在__init__方法中初始化一个用来展示结果的Label控件,放在窗口合适位置,提交按钮触发时更新Label的文本属性即可:
    1. 在输入框初始化代码下方添加Label定义:
    self.result_label = ttk.Label(master, text="", foreground="red")
    self.result_label.grid(row=7, column=0, columnspan=3, pady=10)
    
    1. 提交按钮绑定更新标签的逻辑:
    Button(master, text="Submit",width=23, height=3, 
    command=lambda: self.result_label.config(text=f"输入内容:{self.e.get()}")
    ).grid(row=5, column=0, columnspan=3)
    

修改后完整可运行代码

以下代码整合了两种展示逻辑,可注释掉不需要的展示方式:

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import tkinter as tk

root = tk.Tk()

class sweltres:
      
    def clearall(self):
            self.e.delete(0,END)
 
    def clear1(self):
            self.txt=self.e.get()[:-1]
            self.e.delete(0,END)
            self.e.insert(0,self.txt)
 
    def action(self,argi):
            self.e.insert(END,argi)

    def submit_handle(self):
        input_content = self.e.get()
        # 弹窗展示,不需要可注释
        messagebox.showinfo("提交成功", f"你输入的内容是:{input_content}")
        # 标签展示,不需要可注释
        self.result_label.config(text=f"当前输入:{input_content}")
 
    def __init__(self,master):
       
            master.title('Calculator')
            master.geometry("260x380")
            self.e = ttk.Entry(master)
            self.e.grid(row=0,column=0,columnspan=6,pady=3)
            self.e.focus_set() 

            # 结果展示标签
            self.result_label = ttk.Label(master, text="", foreground="darkblue")
            self.result_label.grid(row=7, column=0, columnspan=3, pady=10)
            
    
            Button(master,text='AC',width=5,height=3,
                        fg="black", bg="blue",
            command=lambda:self.clearall()).grid(row=4, column=2)
 
            Button(master,text='C',width=5,height=3,
                fg="red",bg="blue",
                command=lambda:self.clear1()).grid(row=4, column=0)
 
            Button(master,text="7",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action('7')).grid(row=1, column=0)
 
            Button(master,text="8",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(8)).grid(row=1, column=1)
 
            Button(master,text="9",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(9)).grid(row=1, column=2)
 
            Button(master,text="4",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(4)).grid(row=2, column=0)
 
            Button(master,text="5",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(5)).grid(row=2, column=1)
 
            Button(master,text="6",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(6)).grid(row=2, column=2)
 
            Button(master,text="1",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(1)).grid(row=3, column=0)
 
            Button(master,text="2",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(2)).grid(row=3, column=1)
 
            Button(master,text="3",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(3)).grid(row=3, column=2)
   
            Button(master,text="0",width=5,height=3,
                fg="white",bg="blue",
                command=lambda:self.action(0)).grid(row=4, column=1)
            
            # 提交按钮
            Button(master, text="Submit",width=23, height=3, 
                 fg="white",bg="green", command=self.submit_handle).grid(row=5, column=0, columnspan=3)
                        
            Button(master, text="Exit wtf",width=23,height=3, 
                 fg="white",bg="red", command=master.destroy).grid(row=6, column=0, columnspan=3)


sweltres(root)
root.mainloop()

内容的提问来源于stack exchange,提问作者Drako Buldisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:57:07