use*_*637 1 python pygtk wxpython tkinter pyqt
我知道以前曾有人问过这个问题,但是这些问题通常都没有具体的细节,并且会给出类似“这取决于您要执行的操作...”之类的答案,因此此应用程序的主要要旨是它可以检索远程数据(例如文字)和对象(例如图片)。
由于PHP和python是两种编程语言,因此我感到很自在,我认为python更适合桌面gui应用程序。我正在创建桌面音乐播放器,下面是一些我要介绍的技术规格:
在流行的python gui工具包中,例如PyQt,PyGTK,Tkinter,wxPython,Pyjamas,PyGObject和PySide,它们非常适合我的应用程序,为什么?为什么其他都不很适合这些规格?哪个拥有良好的文档和活跃的社区?
欢迎来到有趣的地方:
注意urllib2:它不会检查证书或证书链。使用请求代替或使用ssl库并自己检查它。请参阅Urllib和服务器证书的验证 有时,只需使用ZeroMQ(0mq)即可简化服务器。
如果您是私有服务器/私有客户端对,则应考虑随应用程序一起发送自签名证书。那时,验证证书消除了许多其他可能的问题。
虽然您可以阅读很多有关安全性问题的信息,例如Crypto 101,但简短的版本是使用TLS(SSL的新名称)传输数据和使用GPG存储数据。TLS使其他人无法在移动数据时查看和更改数据。GPG防止其他人在存储或检索数据时看到和更改数据。另请参阅:如何安全地保留解密的临时数据? 足够的安全性!
与gpg一起使用的SqlLite3很好,直到变得太大为止。之后,您可以转到MariaDB(MySQL的受支持版本),PostGreSQL或诸如Mongo之类的东西。我支持做无法扩展的事情,现在让事情变得有意义是值得的。
对于GUI,您会讨厌我的答案:HTML / CSS / JavaScript。您将需要门户网站或移动应用程序或远程访问的机会或其他令人信服的机会。使用jQuery(或其轻量级表亲之一,如Zepto)。然后,将您的应用程序作为全屏应用程序运行,而无需浏览器栏或访问其他站点。您可以使用库来模拟本机的外观,但是客户几乎总是走“哦,我知道如何使用它”并停止询问。
仍然讨厌GUI答案吗?尽管您可以使用Tcl / Tk或Wx,但是您将永远与平台错误作斗争。例如,OS / X(Mac)用户需要安装ActiveState的Tcl / Tk,而不是默认的Tcl / Tk。最后,您将获得针对图像(PIL或ImageMagick)的繁重解决方案,而不仅仅是HTML图像标签。还有很多其他GUI可以使用,包括一些使用新的“ yield from”构造的GUI。不过,您现在最好使用HTML / CSS / JavaScript。观看“ JavaScript:优质零件”,然后采取将其交付使用的态度。
努力使用Python 2,7或Python 3.3+。当您制作复杂的应用程序时,您不想与不断上升的更好支持相抗衡。
我为乐趣做这个东西!