安装 Charmy¶
小心
Python 版本要求 >= 3.11!
使用 pip 安装(推荐)¶
pip install charmy-gui
警告
项目仍处于早期开发阶段,可能尚未发布到 PyPI。 如果上方命令失败,请使用下面的源码安装方式。
从源码安装¶
git clone https://github.com/XiangQinxi/charmy.git
cd charmy
pip install -e .
备注
pip install -e . 会以可编辑模式安装,你对源码的修改会即时生效,
适合开发和调试。
后端依赖¶
Charmy 将底层图形框架抽象为 后端 。目前唯一可用的后端是 Genesis , 它使用 SDL2 创建窗口、Cairo 进行 2D 渲染。
安装 Genesis 后端所需的依赖:
pip install pysdl2 pysdl2-dll pycairo
各平台注意事项:
平台 |
注意事项 |
|---|---|
Windows |
|
macOS |
|
Linux (Debian/Ubuntu) |
|
Linux (Fedora/RHEL) |
|
备注
pysdl2-dll 包含了 SDL2 的预编译动态库,通常情况下不需要手动安装 SDL2。
如果遇到 SDL2 相关的错误,可以尝试从 https://libsdl.org 下载最新版本的 SDL2。
验证安装¶
创建一个 Python 文件,写入以下代码并运行:
import charmy as cm
window = cm.Window(size=(300, 160), title="Charmy GUI")
cm.mainloop()
如果出现一个灰色窗口,说明安装成功!
常见问题¶
Q: 导入 charmy 时报错 ``No module named 'sdl2'``
A: 没有安装 SDL2 依赖。执行 pip install pysdl2 pysdl2-dll
Q: 导入 charmy 时报错 ``No module named 'cairo'``
A: 没有安装 Cairo 依赖。执行 pip install pycairo。如果安装失败,请参考上方各平台注意事项。
Q: 运行后窗口一闪而过
A: 检查代码中是否有 cm.mainloop()。如果缺少主循环,程序会立即退出。
Q: 窗口显示但不响应鼠标
A: 确认 SDL2 事件循环在工作。在 mainloop() 之前添加以下代码测试:
def on_click(event):
print(f"Clicked: {event.mouse_pos}")
window.bind(cm.event_types.MouseClick, on_click)