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?的主要内容,如果未能解决你的问题,请参考以下文章
手写数字识别基于支持向量机SVM实现手写数字识别matlab源码含GUI