前段时间想做一个带界面和控件的软件,早前在C++接触过MFC,但是已经忘得差不多了,而且现在开始接触python后萌发了想用python做一个控件的想法。起初查了不少库,包括wxpython和知道的Tk库,但是里面上来就是跟你讲一大堆我特别烦的窗口怎么创建,想想以前c++的时光就烦躁,索性直接去拿个游戏引擎的库来做,功能不局限于GUI,强大,不底层,方便,况且对我这种非软件行业,做算法的人来说,就已经很够了。
说干就干,起初还决定做panda3D,一步登天。但是后来发现这货还有点难度,涉及深处还有各种线程啊,还有高深的东西。最后敲定了一个以2D为主,简单happy的pygame(py游戏。。。)里面上来就直接简单粗暴,设置几个参数,就一个窗口。就跟小说常说的“没有一丝多余的赘肉”的少妇一样。爽!
开始直接pip install。下了个最新的1.9.3版本。但是网上的教程只有老版本的,调试起来特别爆炸。最后程序运行的还行。就是关闭程序,就卡了,未响应。最后各种炸。编译器都炸。pdb都炸,真的无奈。气得我直接去看pygame的官方英文文档。发现要在程序退出时用quit()函数释放掉内存才行,可能是新版本添加了这个函数吧(其实内心很崩溃,调了一天,就这鸟错误。版本永远是python的硬伤)
主要有1.pygame程序开始要pygame.init()初始化,结束要pygame.quit()
2.pygame除了quit(),在quit()释放后还要借用下sys模块的exit()关闭程序,不然窗口是不会关闭的。