Ubuntu 22.04中RunSnake启动报错SquareMap字体类型错误
解决RunSnakeRun无图形显示及Font.SetPointSize类型错误
问题根源
报错核心是SquareMap 1.0.5的FontForLabels方法中,计算出的字体大小为浮点数,但wxPython 4.0及以上版本要求SetPointSize的参数必须是整数,类型不匹配直接导致绘图逻辑崩溃,因此图形区域和源码内容无法渲染,仅调用列表能正常显示。
修复方法
临时修复:修改SquareMap源码
直接编辑/usr/lib/python3/dist-packages/squaremap/squaremap.py文件的第267行:
原代码:
font.SetPointSize(scale * font.GetPointSize())
修改为:
font.SetPointSize(int(scale * font.GetPointSize()))
将计算结果强制转换为整数,适配wxPython的参数类型要求。
长期解决:升级SquareMap到修复版本
SquareMap 1.0.6及后续版本已修复该类型错误,通过pip更新即可:
sudo pip3 install --upgrade squaremap
更新完成后重启RunSnakeRun,图形和源码内容即可正常渲染。
验证步骤
修改或更新后,重新执行命令:
runsnake test.profile
检查窗口是否正常加载图形和源码内容,同时确认控制台不再输出类型错误信息。
内容的提问来源于stack exchange,提问作者Martin Rubey
相关产品推荐
相关产品推荐

