首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt5/pyqt4已经支持带手写识别的QtVirtualKeyboard了吗?

PyQt5/pyqt4已经支持带手写识别的QtVirtualKeyboard了吗?
EN

Stack Overflow用户
提问于 2016-11-01 20:25:03
回答 2查看 4.3K关注 0票数 1

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

这是a link

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

代码语言:javascript
复制
module "QtQuick.VirtualKeyboard" is not installed 
 import QtQuick.VirtualKeyboard 2.1 

从这里开始我应该怎么做?PyQt5是否附带VirtualKeyboard模块?如果没有,如何在PyQt5上安装?

EN

回答 2

Stack Overflow用户

发布于 2017-03-12 07:48:51

对于qt设计器,您只能在.py文件中添加此行。

代码语言:javascript
复制
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"

但是如果你想使用带有QML虚拟键盘的QML,那就使用

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

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

1.步骤使用qt5.8键盘安装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 install python3 python3 3-pip pip3 install pyqt5

3.step

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

代码语言:javascript
复制
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_())
票数 4
EN

Stack Overflow用户

发布于 2017-03-04 02:56:40

我也一直坚持这一点,我是Qt的新手,经过一些研究,并挖掘源代码,找到了解决方案

您不需要导入它来使用它,因为它是一个模块,它会在每个qt输入中实现自己

你不需要在PyQt5上安装它,但是在Qt5上,如果它还没有随Qt包一起提供,如果你使用archlinux,你可以用pacman安装它

代码语言:javascript
复制
pacman -S qt5-virtualkeyboard

如果您在os存储库中找不到它,请尝试构建它,这里是documantation https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html

然后,要在pyqt应用程序中使用它,可以从bash或在顶部脚本中将环境变量QT_IM_MODULE设置为"qtvirtualkeyboard“,如下所示

代码语言:javascript
复制
import os
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40360033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档