PyQt5/pyqt4 是不是已经支持带有手写识别的 QtVirtualKeyboard?

Posted

技术标签:

【中文标题】PyQt5/pyqt4 是不是已经支持带有手写识别的 QtVirtualKeyboard?【英文标题】:Does PyQt5/pyqt4 already supports QtVirtualKeyboard with Handwriting Recognition?PyQt5/pyqt4 是否已经支持带有手写识别的 QtVirtualKeyboard? 【发布时间】:2016-11-01 12:25:02 【问题描述】:

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

这里是a link!

我得到了在 QtCreator 上运行的 C++ Qt 示例代码。 但是使用 python3.5 和 PyQt5 会给出这样的信息:

module "QtQuick.VirtualKeyboard" is not installed 
 import QtQuick.VirtualKeyboard 2.1 

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

【问题讨论】:

【参考方案1】:

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

os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

但是如果你想使用 QML 和 qtvirtualkeyboard;

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

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

1.step 用qtvirtualkeyboard安装qt5.8

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.step

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

3.step

在你的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_())

【讨论】:

【参考方案2】:

我也被这个困住了,我是 Qt 的新手 经过一番研究和挖掘源代码,找到了解决方案

你不需要导入它来使用它,因为它是一个模块,它将自己实现到每个 qt 输入

你不需要在 PyQt5 上安装它,但在 Qt5 上,如果你的 Qt 包还没有安装它,如果你使用 archlinux,你可以用 pacman 安装它

pacman -S qt5-virtualkeyboard

如果您在操作系统存储库中找不到它,请尝试在此处构建它是文档 https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html

然后要在您的 pyqt 应用程序中使用它,请从 bash 或脚本顶部将环境变量 QT_IM_MODULE 设置为“qtvirtualkeyboard”

import os
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

【讨论】:

以上是关于PyQt5/pyqt4 是不是已经支持带有手写识别的 QtVirtualKeyboard?的主要内容,如果未能解决你的问题,请参考以下文章

android的中文手写识别库[关闭]

我如何在 ABBYY ios sdk 中配置手写识别

手写数字识别基于支持向量机SVM实现手写数字识别matlab源码含GUI

手写数字识别基于支持向量机SVM实现手写数字识别matlab源码含GUI

机器学习之路: python 支持向量机 手写字体识别

ORB+BFMatcher 是不是适合识别重复图像(有细微的变化?)