我刚才正在使用真正的GUI重要的东西,我正在寻找为Python 3应用程序/(“游戏”?)集成GUI。我需要这是跨平台的,响应迅速的,并能够与其他用户和服务器进行通信。
我看过桌面应用程序的创建,但我认为最好的是Web应用程序。现在,这里有障碍:
我意识到这需要解决很多,所以我的问题是: 如何制作具有特定(大多数)数据值的Web应用程序,而不必刷新整个页面?
我提出的解决方案会有一些简单的javascript不断检查,看看是否有任何内容已发布给彼此密切互动的用户(如果你愿意的话,同一服务器中的玩家)。 HTML中的每个值都有一个链接的javascript函数,该函数链接到后端python代码中的值或函数。
“播放器”更改网页上的值 - > JavaScript函数调用 - > “服务器”上的Python黑框 - > JavaScript检查循环看到通过“服务器”上的简单Python变量进行了更改 - > JavaScript通过调用python代码中的函数获取所有值 - >更新所有“玩家”的HTML
最后,请注意,我不知道如何执行我提出的解决方案,我非常欢迎一种不同的,更好的方法。提前谢谢。
答案 0 :(得分:0)
所以,对于那些试图和我做同样事情的人来说,答案就是所谓的" websockets"。
我最初尝试过Kivy,但发现它太麻烦而且难以获得良好的样式。使用HTML,CSS和JavaScript,你可以制作非常漂亮的外观,而Kivy不够强大在不必编写大量多余代码的情况下制作有吸引力的东西。由于我尝试制作的内容基本上是一种风格化的数据读取/ hud,因此HTML组合可以解决问题。
我目前用于websockets的是一个名为" Tornado"的模块。它允许您更新客户端上的任何数据,而无需重新加载页面。我将此数据作为单个JSON发送以更新整个页面。
总之,我决定使用HTML / CSS / JavaScript进行GUI和Python / Tornado进行快速服务器端计算。