【问题标题】:Qt Raspberry Pi 3 Linux keyboard inputQt Raspberry Pi 3 Linux 键盘输入
【发布时间】:2021-12-01 05:46:49
【问题描述】:

我使用的是 Raspberry Pi3 板,在 Qt.5.15.11 上,在 QT Creatore 中我编写了一个基于 QWidget 的测试应用程序 - 一个按钮,EditBox,TextLabel,简而言之,HelloWorld。使用交叉编译工具链在装有 Ubuntu 的 PC 上编译。

Raspberry 运行带有 LXDE GUI 的基于 Debian 的 Linux。 Qt 编译时支持 OpenGL。

当我开始我的程序时,我发现了以下内容:

  1. 如果您以用户 (Pi) 身份运行程序,则键盘上的文本可以用俄语和英语输入,切换输入语言可以正常工作。但是如果你以管理员身份运行 (sudo),那么它只会以英文字母打印。

  2. 程序的外观还取决于它是以用户 (Pi) 还是美国管理员 (sudo) 身份启动的。

请告诉我以管理员身份启动程序时如何设置输入俄文字母?

此外,当作为不同用户启动时,Qt 程序的外观取决于什么(窗口大小、框架外观、字体高度......)?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: linux qt raspberry-pi keyboard


【解决方案1】:

我在这里找到了我的问题的答案: https://askubuntu.com/questions/872792/what-is-xdg-runtime-dir 简而言之 - root 和用户 (Pi) 具有不同的环境变量。其中,有一些控制我的应用程序的行为。使用 sudo 运行时为了保护环境,我应该使用

sudo -E MyApp   

顺便说一句,我知道以 root 身份运行应用程序,我做得非常非常糟糕。 bcm2835.h 包含有关如何在以用户身份运行时获取权限的说明。它使用 libcap-dev。但是我还没做呢。

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 2019-03-22
    • 2018-11-23
    • 2014-05-13
    相关资源
    最近更新 更多