使用guizero运行代码时弹出空白窗口是什么原因?
问题修复方案
你遇到的问题由以下几个错误导致:
- 按钮绑定的
say_my_name回调函数未提前定义,运行触发NameError会中断GUI组件渲染,导致窗口无内容、背景色设置不生效 - 文本组件颜色设置为白色,和App白色背景完全重合,即使渲染成功也看不到文字内容
修复后可直接运行的完整代码
from guizero import App, Text, TextBox, PushButton # 提前定义按钮触发的回调函数 def say_my_name(): welcome_message.value = f"Hello {my_name.value}" app = App("Hello world", bg = "white") # 修改文本颜色为黑色,避免和背景重合 welcome_message = Text(app, text="Welcome to my app", size=40, font="Times New Roman", color="black") my_name = TextBox(app) update_text = PushButton(app, command=say_my_name, text="Display my name") app.display()
异常排查步骤
如果修改代码后仍然出现黑色空窗口,按以下顺序排查:
- 升级guizero到最新版本:
pip install --upgrade guizero - 确认Python版本在3.6及以上,满足guizero的版本依赖要求
- 如果你使用Linux系统,需要单独安装tkinter依赖,Ubuntu/Debian系可执行
sudo apt install python3-tk完成安装
内容的提问来源于stack exchange,提问作者Francisco Gutierrez Ramirez
相关产品推荐
相关产品推荐

