使用Python与Glade开发的GTK应用无法显示GUI窗口求助
解决GTK应用启动时Pango重力断言失败导致GUI不显示的问题
针对你遇到的基于Python+GTK+Ubuntu的应用启动时出现Pango断言错误、GUI窗口无法显示但后台正常运行的问题,以下是几个可行的排查和修复方向:
检查系统区域与字体设置
该错误多与文本排版重力(如从右到左语言的渲染逻辑)相关。先通过locale命令查看当前系统区域配置,确认LANG/LC_系列变量无异常。可临时强制使用通用UTF-8区域启动应用测试:LC_ALL=en_US.UTF-8 python3 evms.py排查Glade UI文件的控件配置
打开你的Glade设计文件,逐一检查所有文本类控件(Label、Entry、TextView等)的文本方向或重力设置,若存在设为Auto的选项,将其修改为Natural或明确的Left-to-Right/Right-to-Left,保存后重新运行应用。调整Pango/GTK库版本
该问题可能源于系统更新后库的兼容性bug。先查看当前安装版本:dpkg -l libpango-1.0-0 libgtk-3-0若为近期更新后出现问题,可尝试回退至之前的稳定版本;若版本较旧,执行
sudo apt update && sudo apt upgrade libpango-1.0-0 libgtk-3-0升级到最新修复版本。调试代码中的文本属性设置
检查代码中是否有手动调用pango_attr_gravity_new的逻辑,确保传入的参数不是PANGO_GRAVITY_AUTO,改为明确的重力值(如PANGO_GRAVITY_SOUTH)。同时可通过GTK调试日志获取更详细的错误栈:GTK_DEBUG=all python3 evms.py
内容的提问来源于stack exchange,提问作者Walt
相关产品推荐
相关产品推荐

