如何在Qt中使用QWS_MOUSE_PROTO代码

时间:2017-04-10 11:33:26

标签: qt mouseevent

我正在使用QT为嵌入式linux设备制作应用程序。当我开始我的应用程序,鼠标&键盘不工作。从搜索这个问题开始,我开始知道在启动应用程序之前我们需要运行以下命令:

export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"

运行上述命令后,我可以在我的应用程序中使用鼠标和键盘。但这看起来有点奇怪,因为无论何时我需要运行我的应用程序,我都必须运行这些命令。此外,我将在启动后将我的应用程序设置为自动运行,因此在这种情况下,我将无法运行这些命令。所以我想知道我是否可以在我的代码中的某处包含这些命令,以便它们自动运行然后应用程序启动。任何人都可以在这里指导我。请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

您可以运行脚本,而不是运行您的应用程序:

IsBodyHtml = false,
BodyEncoding = Encoding.UTF8,
BodyTransferEncoding = System.Net.Mime.TransferEncoding.EightBit

您还可以在启动Qt之前在应用程序内部设置环境变量。使用setenv

#! /usr/bin/env bash
export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"
my_application

外部#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参数设置为零。这是理想的行为。