小编Dar*_*lex的帖子

在 C++ 中模拟按键以在虚拟键盘的 QML 中使用

对于我的基于 QML 的应用程序,我希望有一个虚拟键盘(Qt Enterprise 是个很有趣的东西,但 200 美元< 超出了我的能力),所以我决定编写自己的键盘。但我不太确定如何:

\n\n

这是我看到代码的方式:

\n\n

按键.h

\n\n
#ifndef KEYPRESS_H\n#define KEYPRESS_H\n\n#include <QObject>\n\nclass KeyPress : public QObject\n{\n\n    Q_OBJECT\n\npublic:\n    explicit KeyPress(QObject *parent = 0);\n\n    Q_INVOKABLE void virtKeyPress(const int& Char);\n\nsignals:\n    void virtKeyPressed(const int& source);\n\nprivate:\n    int vKey;\n};\n\n#endif // KEYPRESS_H\n
Run Code Online (Sandbox Code Playgroud)\n\n

按键.cpp

\n\n
#include "keypress.h"\n#include <QKeyEvent>\n\nKeyPress::KeyPress(QObject *parent) :\n    QObject(parent)\n{\n\n}\n\nvoid KeyPress::virtKeyPress(const int &Char){\n\n    vKey = Char;\n    QKeyEvent event(QEvent::KeyPress, vKey, Qt::NoModifier);\n    // Here I guess I should do somthing like "sendEvent(parent, &event);" or whatever, but nothing seems to work.\n    emit virtKeyPressed(vKey);\n\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n …

c++ qt virtual-keyboard qml qt5

2
推荐指数
1
解决办法
5549
查看次数

标签 统计

c++ ×1

qml ×1

qt ×1

qt5 ×1

virtual-keyboard ×1