使用CTkInputDialog时伴随弹出Tk窗口的问题咨询
解决CTkInputDialog伴随弹出Tk窗口的问题
原因
当你未显式创建CustomTkinter的主窗口时,CTkInputDialog会自动生成一个默认的tkinter根窗口作为父容器,这就是你看到的那个额外窗口。
解决方案
方法1:显式创建并隐藏CTk主窗口(推荐)
这种方法更贴合CustomTkinter的设计逻辑,避免依赖默认的tkinter根窗口:
import customtkinter as ctk # 创建CTk主窗口并立即隐藏 root = ctk.CTk() root.withdraw() ctk.set_appearance_mode("dark") dialog = ctk.CTkInputDialog(text="Type in a number:", title="Test") print("Number:", dialog.get_input()) # 对话框关闭后销毁主窗口,确保程序完全退出 root.destroy()
方法2:隐藏自动生成的Tk根窗口
如果不想创建CTk主窗口,也可以直接获取并隐藏默认生成的tkinter根窗口:
import customtkinter as ctk import tkinter ctk.set_appearance_mode("dark") # 隐藏自动创建的默认Tk根窗口 tkinter._default_root.withdraw() dialog = ctk.CTkInputDialog(text="Type in a number:", title="Test") print("Number:", dialog.get_input())
两种方法都能让你只看到CTkInputDialog对话框,不会出现多余的Tk窗口。
内容的提问来源于stack exchange,提问作者Lallu
相关产品推荐
相关产品推荐

