停止 qt 写入 /dev/tty0

Posted

技术标签:

【中文标题】停止 qt 写入 /dev/tty0【英文标题】:Stop qt writing to /dev/tty0 【发布时间】:2014-04-03 07:54:18 【问题描述】:

我是 QT 的新手,所以对于专家来说问题可能太明显了。我在嵌入式 Linux 系统上有一个 QT GUI 应用程序,它不断尝试将键盘输入写到 /dev/tty0。当然我可以限制这个设备的权限,但我想找到更优雅的解决方案。我可以以某种方式阻止 QT 这样做吗? QT版本:4.8.1

stty -F /dev/tty0 -echo 解决问题,直到下次重新启动。有没有办法在 QT 级别禁用回声?

[更新] 我发现这个人有类似的问题:http://qt-project.org/forums/viewthread/4778 但是用 -qt-kbd-tty 编译 QT 并不能解决问题。

即使我将“QWS_KEYBOARD”环境设置为“TTY:/dev/null” - 键盘停止工作但回显仍然处于活动状态。

[UPD2] 解决方法:可以通过设置环境来完成 QWS_DISPLAY 到“LinuxFb:tty=/dev/null”

【问题讨论】:

你到底想解决什么问题? /dev/tty0 作为控制台输出转发到屏幕缓冲区。由于 key1 按下,我确实在屏幕上看到了字符 '1'。这是没有必要的。 【参考方案1】:

可以通过将环境 QWS_DISPLAY 设置为“LinuxFb:tty=/dev/null”来完成

【讨论】:

以上是关于停止 qt 写入 /dev/tty0的主要内容,如果未能解决你的问题,请参考以下文章

qt串口设置停止位出现

为啥 Qt 中的拖放停止工作?

Qt Qtwebengineprocess已停止工作,该如何处理

如何在 QT 中停止 qThread [重复]

如何使用 Qt 启动/停止 Windows 服务?

在 qt 中使用 QThread 实现启动/停止/暂停