[英]How to use QWS_MOUSE_PROTO inside code in Qt
我正在使用QT制作嵌入式Linux设备的应用程序。 当我启动我的应用程序时,鼠标和键盘不起作用。 通过搜索此问题,我知道在启动应用程序之前我们需要在命令下运行:
export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"
运行上述命令后,我可以在应用程序中使用鼠标和键盘。 但这看起来有些奇怪,因为每当我需要运行应用程序时,都必须运行这些命令。 另外,我将设置我的应用程序在启动后自动运行,因此在这种情况下,我将无法运行这些命令。 因此,我想知道是否可以在代码中的某些位置包含这些命令,以便它们自动运行,然后启动应用程序。 任何人都可以在这里指导我。 请帮忙。 谢谢。
除了运行您的应用程序,您还可以运行一个脚本:
#! /usr/bin/env bash
export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"
my_application
在启动Qt之前,您还可以在应用程序内部设置环境变量。 使用setenv
:
#include <cstdlib>
int main(int argc, char ** argv) {
// Set default values if none are set.
setenv("QWS_MOUSE_PROTO", "USB:/dev/input/event-mouse", 0);
setenv("QWS_KEYBOARD", "USB:/dev/input/event-keyboard", 0);
QApplication app(argc, argv);
...
return app.exec();
}
外部QWS_MOUSE_PROTO
和QWS_KEYBOARD
将覆盖内部默认值,因为override
参数设置为零。 这是所需的行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.