【问题标题】:Block keyboard for embedded xterm, in PyQt4用于嵌入式 xterm 的块键盘,在 PyQt4 中
【发布时间】:2015-09-10 14:23:19
【问题描述】:

我正在尝试在 PyQt 应用程序窗口中嵌入 xterm 以跟踪日志文件。但是,我想在嵌入式终端中阻止用户的键盘输入,这样他们就不会按下 CTRL-C 或 CTRL-D 并终止进程。

我可以很好地嵌入终端。是否有可用于阻止用户输入的 xterm 或 PyQt 设置?我希望这是一个只读终端,它只显示日志文件的内容。

我在手册页中搜索了 xterm,但没有找到任何东西。

【问题讨论】:

    标签: pyqt pyqt4 embed xterm


    【解决方案1】:

    解决这个问题的方法是构建一个透明(实际上是“无色”)窗口,覆盖嵌入的 xterm 窗口。

    Basic X Window keyboard and mouse input blocking 中描述了一个示例,它本质上是一个用 Python 编写的屏幕保护程序。对于窗口属性的较低级别(X 文档),How to prevent an X Window from receiving user input? 中的链接可能对您有用。

    要解决的主要问题是(在您的程序中)如何确保覆盖的窗口位于顶部,当然还有如何保持透明(因为这与示例不同)。后者更复杂:

    【讨论】:

    • 有趣的是,我实际上曾对一位同事评论说,我们需要一个“坚不可摧的玻璃”小部件来放置在终端上。我没有想到它确实存在,但现在你已经解释了它是有道理的。不幸的是,使用嵌入式 xterm 的想法是为了简单,这似乎相当复杂。我选择嵌入另一个在单独进程中运行的 Qt 窗口。但我期待在有时间的时候尝试这个解决方案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2015-09-05
    • 2017-04-06
    • 2017-11-23
    • 1970-01-01
    • 2014-10-05
    相关资源
    最近更新 更多