我正在尝试将QtVirtualKeyboard示例与QQuickWidget一起使用,而不是QQuickView。对于QuickView,我使用以下main.cpp代码,对我来说运行良好:
#include <QQuickView>
#include <QGuiApplication>
#include <QQmlEngine>
int main(int argc, char *argv[])
{
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
QGuiApplication app(argc, argv);
QQuickView view(QString("qrc:/%2").arg(MAIN_QML));
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.show();
return app.exec();
}
我在将主.cpp实现方式改为QQuickWidgets时遇到了问题,具体内容如下:
#include <QQuickWidget>
#include <QApplication>
#include <QQmlEngine>
int main(int argc, char *argv[])
{
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
QApplication app(argc, argv);
QQuickWidget w(QString("qrc:/%2").arg(MAIN_QML));
w.setResizeMode(QQuickWidget::SizeRootObjectToView);
w.show();
return app.exec();
}
当我点击输入字段时,虚拟键盘会弹出,但当我开始在键盘上输入时,我收到“未设置输入法”的消息,似乎与输入法插件有关。输入字段中没有字符出现。有什么想法吗?QML代码在main.cpp的不同变体之间没有更改。
顺便说一下:我正在使用Linux、gcc、Qt 5.9.0和EGLFS插件。感谢任何建议!
敬礼, Patrick