繁体   English   中英

如何在Qt中使用QWS_MOUSE_PROTO内部代码

[英]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_PROTOQWS_KEYBOARD将覆盖内部默认值,因为override参数设置为零。 这是所需的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM