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

2023-12-01

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

Here's a link!

enter image description here

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

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

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


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

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

but 如果你想使用 QML使用 qt 虚拟键盘;

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.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_())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • .htaccess-SetEnvIf 到 NGinx-fastcgi_param 转换

    我的 Apache 网站有以下 htaccess 设置 现在我将其移至 Nginx 因此我想知道如何将 htaccess 文件中的 SetEnvIf 参数放入 Nginx 配置中 我认为是通过设置 fastcgi param 来实现的 请帮
  • 如何对 Postgresql 数组进行 JPA 查询?

    如何使用 text 列查询 Postgresql 表的模型 TypeDefs TypeDef name string array typeClass StringArrayType class Entity Table name names
  • 为什么 Automapper.ProjectTo() 抛出空引用异常?

    我有一个映射 var config new MapperConfiguration cfg gt cfg CreateMap
  • 如何在 JavaScript 中指定 Math.log() 的基数?

    我需要一个logJavaScript 的函数 但它需要以 10 为基数 我看不到任何列表 所以我假设这是不可能的 有没有数学奇才知道这个问题的解决方案 改变基础 公式 身份 可以计算以10为底的对数的数值 具有以下身份 Since Math
  • 使用 ggplot2 在一个图上绘制多个箱线图

    当我使用以下代码时 标准 R 绘图会在一张图中生成 30 个箱线图 boxplot Abundance Quartile 1 Year Quartile 1 col LightBlue main Quartile1 Rare 我想在 ggp
  • numpy.bitwise_and.reduce 行为异常?

    The ufunc reduce因为 numpy bitwise and reduce 似乎表现不正常 我是否滥用了它 gt gt gt import numpy as np gt gt gt x 0x211f 0x1013 0x1111
  • 使用非默认端口在 Paramiko 中设置 SFTP 服务器主机公钥

    我试图在建立连接之前设置已知的主机公钥 我尝试使用合作伙伴与我共享的公钥文件 但无法连接 所以现在我尝试添加服务器返回的密钥 这是我正在执行的步骤 1 从主机获取密钥 from io import StringIO import param
  • 如何强制传单地图重新加载所有图块(包括可见图块)?

    我正在开发一个图形网络应用程序 我决定传单将成为一个不错的图形视图 我让它显示 某种程度 但我需要一种方法来强制它在用户输入新公式进行绘制时更新 我也在使用 JQuery 但这应该不重要 这是相关代码 function formulaCha
  • 如何以编程方式向 AppleWatch 添加标签?

    我是 Apple Watch 开发新手 但我发现无法以编程方式向 Apple Watch 屏幕添加标签 或按钮 我所能做的就是通过故事板添加资产 我可以问如何以编程方式向屏幕添加标签或按钮吗 以及如何将它们的位置设置为屏幕上的x和y 首选
  • jscript - 获取目录中的文件列表

    这看起来应该很容易 我以前从未使用过 JScript 我正在查看 microsoft 提供的 JScript api 但没有运气 这是我所拥有的 var fso tf fso new ActiveXObject Scripting File
  • 如何使用缓存避免不必要的 Firestore 读取

    我有一个按日期排序的旅行数据列表 大集 现有行为 我将所有行程数据存储到 SqlLite Db 中 对于添加的每个新数据 我都会收到 fcm 通知 并且使用上次更新时间概念仅同步新添加的数据 这样 当客户打开应用程序时 他将始终从我的数据库
  • 通过 Spring 进行 RESTful 身份验证

    Problem 我们有一个基于 Spring MVC 的 RESTful API 其中包含敏感信息 API 应该是安全的 但是在每个请求中发送用户的凭据 用户 通行证组合 是不可取的 根据 REST 准则 和内部业务要求 服务器必须保持无状
  • 无法绑定多部分标识符“System.Data.DataRowView”[重复]

    这个问题在这里已经有答案了 我有一个填充 Combobox1 的表 而 Combobox1 应该填充 Combobox2 这就是问题所在 这就是我遇到的例外 无法绑定多部分标识符 System Data DataRowView Code p
  • 按对象属性搜索对象向量

    我试图找出一种很好的方法来查找向量中某个对象的索引 通过将字符串与对象中的成员字段进行比较 像这样 find vector begin vector end object where obj getName myString 我搜索没有成功
  • 在 javascript 中更改谷歌地图 v3 上的多段线描边的颜色

    我使用相同的代码http www aspsnippets com Articles Google Maps V3 Draw route line Between two geographic locations Cooperatives L
  • 查找数组中特定类型的项

    我想要一个数组扩展 您可以在其中找到某种类型的项目 我尝试这样 func findItem
  • 如何在android中的osm地图中添加更多标记

    我找到了一种解决方案 如何在 openstreet 地图中映射气球我根据需要自定义 osmbonuspack 工作正常 但只显示一张地图 如何在下面粘贴的这段代码中添加多个标记 我的输出 URL 工作正常 只需告诉我如何在图像气泡中添加文本
  • 我的代码与 strtotime 的奇怪行为

    我对 PHP 中的日期感到有些头疼 我正在从表单中获取一些数据 并尝试通过 ajax 调用 提交 它 以更新网络而不重新加载页面 我有一个日期选择器 它允许选择一系列日期 因此 我做了一个脏函数来分隔开始日期和结束日期 并将其单独发布到 P
  • Javascript 正则表达式:验证双精度型/浮点型

    这是我正在研究的模式 var re d 1 2 d 1 2 我希望它返回的是一位或两位数字 永远不会大于 24 因为它是一个时间管理应用程序 后面可能会或可能不会带有一个或两个小数点尾随数字 但不超过两位 我不确定与前瞻混合的括号子字符串匹
  • PyQt5/pyqt4 是否已经支持具有手写识别功能的 QtVirtualKeyboard?

    我正在使用 pyqt5 开发桌面应用程序 并且我想使用具有手写识别功能的虚拟键盘 我看到Qt QtVirtualKeyboard已经支持它了 Here s a link 我在 QtCreator 上运行了 C Qt 示例代码 但是使用 py