我可以在不导入图形库的情况下用Python制作图形吗?如果没有,为什么



我正在学习Python中的图形和GUI。我很想知道pygametkinterpyside这些模块是如何在后端工作的。我打开了他们的代码,但他们正在导入更多,当我到达更多时,有一些类似def Window: --> None ....的东西在屏幕上绘制窗口的代码在哪里?我该如何获得该代码,或者我该如何制作一个简单的空白窗口?

实际上?不是

每个操作系统都有自己与图形子系统交互的方式,并提供C库(具有可用于各种语言的包装器(用于与该子系统通信。

如果与特定于图形的C库通信(无论是通过ctypes还是在C中构建Python模块(;导入图形特定的东西";,排除了实用、简单、可维护的方法。


技术上?是的

除了其中一些接口是以允许Python合理地与它们通信的方式抽象的;这方面的一个关键示例是X11,它支持通过套接字与窗口系统通信。

请注意,您不会以这种方式编写高性能游戏:X11支持现代扩展,这些扩展支持共享内存,以实现比传统套接字方法更快的通信;但它可以让你画一个窗口。

请将python-xlib作为纯python图形库的演示示例;它能做的任何事情,你也可以在你的脚本里做你自己。

以它的examples/draw.py为起点,运行所有非标准库import——如果将所有导入的代码折叠到脚本中,则最终会得到一个绘制图形的脚本,而没有图形特定的导入。

相关内容

最新更新