擅长:python、mysql、java
<p>我认为您是对的,GUI环境中基于事件的模型与您最初的应用程序设计之间有点脱节。对于控制台应用程序,您可以编写事件循环,但在我所知的任何框架中的GUI应用程序中,框架都有自己的一个。在</p>
<p>我会让玩家对象通过信号把它的移动发送到游戏对象。你需要围绕这个设计来构建你的基本播放器类。它不应该那么难做,因为你已经有了实际的逻辑,你只是重新布线了一点。在</p>
<p>请注意,你的播放器对象实际上只是游戏和实际玩家之间的接口,可能是在用户界面中点击按钮的人,或者是通过网络连接的远程玩家。只有在bot的情况下,player对象才能真正成为player,即使在这种情况下,最好使用单独的策略引擎对象。这样想可能有助于掌握设计。在</p>
<p>你不必那样做。你可以解决它,例如通过你描述的方法,但是我不想在一个有自己的GUI事件循环的应用程序中处理我自己的事件循环。这是在对抗GUI框架,而不是使用它。不仅仅是Qt是这样的,在任何GUI框架中都会出现类似的问题。这是一种思考构建应用程序的不同方式,我建议采用它。在</p>