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

Python Tkinter中如何将Entry输入框获取的字符串转换为整数

Tkinter Entry输入框字符串转整数的实现方案

现有代码的问题点

  • 基础语法错误:未初始化主窗口window实例;from tkinter import tt导入错误,应为from tkinter import ttk;Entry.grid为类调用错误,应改为实例变量调用entry_age.grid;存在变量名拼写错误entry_heigh1t
  • 核心逻辑错误:get()方法执行时机错误,程序启动时输入框默认为空值,此时直接取值转整数会抛出ValueError异常。取值操作需要在用户完成输入后触发,通常绑定到按钮点击、输入框回车等事件的回调函数中。
  • 缺少异常处理:未对用户输入非数字内容的场景做兼容,转换时大概率会触发崩溃。

正确实现示例

import tkinter 
from tkinter import ttk

# 初始化主窗口
window = tkinter.Tk()
window.title("生理信息采集")

def handle_submit():
    try:
        # 用户点击提交按钮后再读取输入框内容并转整数
        age = int(entry_age.get().strip())
        height = int(entry_height.get().strip())
        weight = int(entry_weight.get().strip())
        # 此处可填写拿到三个整数后的业务逻辑
        print(f"年龄:{age},身高:{height}cm,体重:{weight}kg")
    except ValueError:
        # 捕获非数字输入的异常,给出提示
        print("请输入合法的数字内容!")

# 页面组件布局
age_label = tkinter.Label(window, text = "How old are you?")
age_label.grid(row = 1, column = 0, padx=5, pady=5)

entry_age = tkinter.Entry(window)
entry_age.grid(row = 1, column = 1, padx=5, pady=5)

height_label = tkinter.Label(window, text = "What is your height(cm): ")
height_label.grid(row = 2, column = 0, padx=5, pady=5)

entry_height = tkinter.Entry(window)
entry_height.grid(row = 2, column = 1, padx=5, pady=5)

weight_label = tkinter.Label(window, text = "your weight (kg): ")
weight_label.grid(row = 3, column = 0, padx=5, pady=5)

entry_weight = tkinter.Entry(window)
entry_weight.grid(row = 3, column = 1, padx=5, pady=5) 

# 提交按钮,绑定回调函数
submit_btn = tkinter.Button(window, text="提交", command=handle_submit)
submit_btn.grid(row=4, column=0, columnspan=2, pady=10)

# 启动主事件循环
window.mainloop()

内容的提问来源于stack exchange,提问作者Milena Pavlovic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:45:03