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

使用tkinter ttkbootstrap遇AttributeError:'str'对象无'get'属性

解决UAM求值器新窗口显示结果的AttributeError问题

错误原因

AttributeError: 'str' object has no attribute 'get' 说明你在代码中对一个字符串对象调用了get()方法,但get()是tkinter输入控件(如Entry)的专属方法,字符串本身没有这个方法。大概率是你误将输入控件的内容(字符串)当成了控件本身来使用。

修正步骤(结合常见场景)

错误逻辑示例

如果你写了类似下面的代码,就会触发错误:

# 错误:把输入内容提前存成字符串,后续又对字符串调用get()
input_text = input_entry.get()
# 传到新窗口后尝试调用get()
result = input_text.get()

或者是控件引用丢失:

# 错误:连写pack()导致input_entry变成None
input_entry = ttk.Entry(root).pack()
# 后续调用input_entry.get()也会报错

正确写法要点

  • 保存输入控件的引用,不要直接连写布局方法(pack()/grid()等),因为布局方法返回None。
  • 仅在需要计算时,再调用控件的get()方法获取字符串内容。

完整可运行修正代码

import tkinter as tk
from ttkbootstrap import Style, Window, ttk

def calculate_and_show_result():
    # 此时才调用get()获取输入内容
    input_content = input_entry.get()
    # 替换为你的UAM求值逻辑
    try:
        # 示例:简单表达式求值,实际替换成你的UAM计算逻辑
        calculation_result = eval(input_content)
    except Exception as e:
        calculation_result = f"计算错误: {str(e)}"
    
    # 创建新窗口展示结果
    result_win = Window(title="UAM计算结果", size=(320, 180))
    ttk.Label(result_win, text="计算结果:", font=("微软雅黑", 12)).pack(pady=15)
    result_label = ttk.Label(result_win, text=str(calculation_result), font=("微软雅黑", 16, "bold"))
    result_label.pack(pady=8)
    ttk.Button(result_win, text="关闭窗口", command=result_win.destroy).pack(pady=12)
    result_win.mainloop()

# 主窗口初始化
style = Style(theme="litera")
main_win = Window(title="UAM简易求值器", size=(450, 220))

# 输入区域:保存控件引用,分开写布局
ttk.Label(main_win, text="输入UAM表达式:", font=("微软雅黑", 12)).pack(pady=12)
input_entry = ttk.Entry(main_win, font=("微软雅黑", 14), width=30)
input_entry.pack(pady=8)

ttk.Button(main_win, text="开始计算", command=calculate_and_show_result).pack(pady=18)

main_win.mainloop()

核心注意事项

  • 控件创建和布局要分开写:比如input_entry = ttk.Entry(root)之后单独写input_entry.pack(),避免控件引用变成None。
  • 不要提前把输入内容存成字符串,只在需要计算时调用get()获取。
  • 新窗口可以直接用ttkbootstrap的Window类,和主窗口用法一致,无需额外配置。

内容的提问来源于stack exchange,提问作者Mestawot Marimo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 07:48:16