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

如何在CustomTkinter GUI中显示终端输出?

实现CustomTkinter GUI内显示输出

要把原本输出到终端的内容直接展示在GUI界面中,只需添加一个文本显示组件,并在按钮点击时更新该组件的内容即可,以下是两种常用实现方式:

方式一:用CTkLabel显示单行文本

适合展示简短的单行内容,修改后的完整代码如下:

import customtkinter
import tkinter

customtkinter.set_appearance_mode("system")

def disp_string():
    # 更新标签的文本内容
    output_label.configure(text="hello world")

app = customtkinter.CTk()
app.title("my app")
app.geometry("700x700")

# 创建用于显示输出的标签,初始文本为空
output_label = customtkinter.CTkLabel(master=app, text="")
output_label.place(relx=0.5, rely=0.6, anchor=tkinter.CENTER)

button = customtkinter.CTkButton(master=app, text="Start", command=disp_string)
button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)

app.mainloop()

方式二:用CTkTextbox显示多行/滚动文本

如果需要保留历史输出或显示多行内容,使用CTkTextbox更合适:

import customtkinter
import tkinter

customtkinter.set_appearance_mode("system")

def disp_string():
    # 在文本框末尾追加内容,换行便于区分多次输出
    output_textbox.insert(tkinter.END, "hello world\n")

app = customtkinter.CTk()
app.title("my app")
app.geometry("700x700")

# 创建可滚动的文本框,设置宽高
output_textbox = customtkinter.CTkTextbox(master=app, width=300, height=100)
output_textbox.place(relx=0.5, rely=0.6, anchor=tkinter.CENTER)

button = customtkinter.CTkButton(master=app, text="Start", command=disp_string)
button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)

app.mainloop()

核心改动说明

  • 添加了文本显示组件(CTkLabel或CTkTextbox),并通过place方法布局在按钮下方
  • 修改disp_string函数,不再用print输出到终端,而是调用组件的更新方法(configure或insert)将内容展示在GUI中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:32:35