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

CustomTkinter中CTkEntry获取输入值失败问题求助

CTkEntry获取输入值为空的解决方案

问题根源

  1. 提前获取输入值:你在App类初始化时就调用了self.entry.get(),此时输入框还未接收用户输入,得到的是空值,后续用户输入不会更新这个变量。
  2. 全局函数无法访问类内组件:sent是全局函数,无法直接访问App类中的entry组件,也拿不到用户实时输入的内容。

修正后的代码

# Importing Libraries
import tkinter
import tkinter.messagebox
import customtkinter
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
from firebase import firebase

cred = credentials.Certificate("serviceAccount.json")
firebase_admin.initialize_app(cred)
customtkinter.set_appearance_mode("System")  # Modes: "System" (standard), "Dark", "Light"
customtkinter.set_default_color_theme("blue")  # Themes: "blue" (standard), "green", "dark-blue"
firestore_db = firestore.client()

class App(customtkinter.CTk):
    def __init__(self):
        super().__init__()

        # configure window
        self.title("CustomTkinter complex_example.py")
        self.geometry(f"{1100}x{580}")

        # configure grid layout (4x4)
        self.grid_columnconfigure(1, weight=1)
        self.grid_columnconfigure((2, 3), weight=0)
        self.grid_rowconfigure((0, 1, 2), weight=1)

        # create main entry and button
        self.entry = customtkinter.CTkEntry(self, placeholder_text="Enter Your Message")
        self.entry.grid(row=3, column=1, columnspan=2, padx=(20, 0), pady=(20, 20), sticky="nsew")
        
        # 将sent改为类方法,通过self调用
        self.main_button_1 = customtkinter.CTkButton(master=self, text="Sent", fg_color="transparent", border_width=2, command=self.sent, text_color=("gray10", "#DCE4EE"))
        self.main_button_1.grid(row=3, column=3, padx=(20, 20), pady=(20, 20), sticky="nsew")

    # 改为类内方法,点击时实时获取输入值
    def sent(self):
        input_text = self.entry.get()
        print(input_text)
    
app = App()
app.mainloop()

关键修改点

  • 将sent函数移到App类内部,作为类的方法,这样可以通过self.entry.get()实时获取输入框内容。
  • 按钮的command参数改为self.sent,绑定类内方法。
  • 移除初始化时提前获取输入值的代码,改为在点击按钮时动态获取当前输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:50:03