PyQt5/pyqt4 是否已经支持具有手写识别功能的 QtVirtualKeyboard?

Jer*_*fim 2 python pyqt pyqt4 qtquick2 pyqt5

我正在使用 pyqt5 开发桌面应用程序,并且我想使用具有手写识别功能的虚拟键盘。我看到Qt、QtVirtualKeyboard已经支持它了。

这是一个链接

在此输入图像描述

我在 QtCreator 上运行了 C++ Qt 示例代码。但是使用 python3.5 和 PyQt5 会给出以下消息:

module "QtQuick.VirtualKeyboard" is not installed 
 import QtQuick.VirtualKeyboard 2.1 
Run Code Online (Sandbox Code Playgroud)

我应该如何继续?PyQt5 是否带有 VirtualKeyboard 模块?如果没有如何在PyQt5上安装它?

Ali*_*Arı 5

对于 qt desinger,您只能在 .py 文件中添加这一行。

os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"
Run Code Online (Sandbox Code Playgroud)

如果你想将 QML与 qtvirtualkeyboard 一起使用;

pyqt5.8中没有虚拟键盘插件,您必须使用qt的路径。

例如,在 ubuntu 上安装 pyqt5、qt5.8 和 qtvirtualkeyboard 的基本步骤:

1.步骤安装qt5.8和qtvirtualkeyboard

wget http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

chmod +x qt-opensource-linux-x64-5.8.0.run

./qt-opensource-linux-x64-5.8.0.run

2.步骤

apt-get 安装 python3 python3-pip pip3 安装 pyqt5

3.步骤

在 python 代码上设置环境变量 qt 路径。

import sys, os
os.environ["QT_DIR"] = "/opt/Qt5.8.0/5.8/gcc_64"
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins/platforms"
os.environ["QT_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins"
os.environ["QML_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml"
os.environ["QML2_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml"
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

#print(os.environ) 

from PyQt5.QtCore import *
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtQuick import *


class keyboardapp(object):
    def __init__(self):
        self.view = QQuickView()
        self.view.setObjectName("View")
        #self.view.setFlags(Qt.FramelessWindowHint)
        self.view.setSource(QUrl("main.qml"))
        self.view.setResizeMode(QQuickView.SizeRootObjectToView)
        #self.Screen = self.view.rootObject()
        #print("Screen(Root) = " + str(self.Screen))
        self.view.show()

app = QApplication(sys.argv)
test = keyboardapp()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)