微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 LTK 的远程 GUI 无法打开窗口

如何解决带有 LTK 的远程 GUI 无法打开窗口

我想要做什么:我有一个使用 LTK 作为其用户界面的预先存在的游戏。游戏包含许多按钮、画布和窗口。我想通过 ltk-remote 从远程计算机访问 GUI,如链接手册第 7 节所述。

我做了什么:我快速加载了 ltk-remote,运行 (with-remote-ltk 9898 form),表单是一个启动游戏的函数,然后在终端中运行 wish remote.tcl localhost 9898。 (端口号 9898 是任意的。)这导致了用户@Sim 在 this question 中详述的问题,我使用他们的回答解决了这个问题。这可能引起了问题(正如 Sim 所建议的那样)。

问题:GUI 开始运行,但仅对某些事件做出部分反应。最简单的孤立效果是,当一个事件提示一个新窗口打开时,它并没有打开。如果要打开更多窗口,则除第一个窗口外的所有窗口都将打开。这是一个最小的例子:

(ltk:with-remote-ltk 9898 nil
    (let ((b (make-instance 'ltk:button)))
      (setf (ltk:command b) #'(lambda ()
                                (make-instance 'ltk:toplevel :title "title 1")
                                (make-instance 'ltk:toplevel :title "title 2")
                                (make-instance 'ltk:toplevel :title "title 3")))
      (ltk:grid b 0 0)))

点击按钮只会打开“title 2”和“title 3”。

我还没有看到任何人成功使用 ltk-remote 的证据,因此库本身可能会被窃听。有人可以分享他们的经验吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。