完美解决Pyqt5 调用软键盘适用于触摸屏

Pyqt5 调用软键盘
安装Python3.7 和Pyqt 5.15.1, 代码加os.environ[“QT_IM_MODULE”] = “qtvirtualkeyboard” 还是不够的!
解决方法:参考 链接
首先无需安装Qt5.15
(1)Python安装aqtinstall库,命令行:python -m pip install aqtinstall, 当然也可以下载轮子文件,但要安装其依赖库。
(2)查看Pyqt 版本,方法一:Pycharm->file->settings->Project Interpreter, 找到qt5-applications->version我的是5.15.1.1, 方法二:如下输出第一行为后面要用粘贴的目标文件夹,第二行为版本号。

from PyQt5.QtCore import QT_VERSION_STR, QLibraryInfo
print(QLibraryInfo.location(QLibraryInfo.PrefixPath))
print('version', QT_VERSION_STR)

输出:

C:/Users/XXXX/AppData/Local/Programs/Python/Python37/lib/site-packages/PyQt5/Qt
version 5.15.1

(3)命令行:python -m aqt install 5.15.1(此处为Pyqt5版本号) windows desktop win64_msvc2019_64 -m qtvirtualkeyboard --outputdir qt
我的是Win10 64位,apt使用见 链接,等个三五分钟(视网速而定),如下:效果如图
在命令行的文件夹下(我的是C:\Users\XXXXX>)找到生成的qt文件夹。
(4)1复制"qt/5.15.0/msvc2019_64/bin/Qt5VirtualKeyboard.dll" 文件粘贴到(2)中的“目标文件夹/bin”内。
2在“目标文件夹/plugins”下新建platforminputcontexts文件夹。
3复制“qt/5.15.1/msvc2019_64/plugins/platforminputcontexts/qtvirtualkeyboardplugin.dll” 文件到上一步新建的 “目标文件夹/plugins/platforminputcontexts” 文件夹内。
4 复制"qt/5.15.1/msvc2019_64/plugins/virtualkeyboard" 文件夹到 “目标文件夹/plugins” 文件夹内。
5复制"qt/5.15.1/msvc2019_64/qml/QtQuick/VirtualKeyboard" 文件夹到 “目标文件夹/qml/QtQuick” 文件夹内。
(5)测试代码:

import os
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import QVBoxLayout
from PyQt5.QtWidgets import QWidget
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"
class MainWindow(QMainWindow):

    def __init__(self):
        super(MainWindow, self).__init__()
        self.line_edit = None
        self.init_ui()

    def init_ui(self):
        self.line_edit = QLineEdit()
        self.line_edit2 = QLineEdit()
        self.layout = QVBoxLayout()
        self.main_widget = QWidget()
        self.main_widget.setLayout(self.layout)
        self.layout.addWidget(self.line_edit)
        self.layout.addWidget(self.line_edit2)
        self.setCentralWidget(self.main_widget)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mw = MainWindow()
    mw.show()
    sys.exit(app.exec_())

效果如下:
在这里插入图片描述
另外,如果QLabel设置inputMethodHints,比如"ImhDigitsOnly"勾上则会只弹出数字软键盘。
在这里插入图片描述

最后,如果QDialog 窗口设置模态,windowModality 设置为WindowModal, 不要设置为ApplicationModal否则软键盘虽然弹出来仍然使用不了。

欢迎留言讨论,Q562604218。

虚拟键盘 软键盘 free virtual keyboard ==================== 将英语译成中文 免费多语言虚拟屏幕键盘 屏幕上的所有虚拟键工作只是因为他们如果你是一个标准的电脑键盘打字。选择键和免费的虚拟键盘发送到一个文字处理器,电子邮件,网页或其他Windows应用程序可能正在使用。键盘可以移动屏幕上的任何地方,可以是任意大小。 免费的虚拟键盘可用于残疾,防止他或她从一个物理电脑键盘打字的人。 也与我们的虚拟键盘,你可以: 改变键盘尺寸。 更改键盘的透明度。 打开和关闭一个键复读功能(见上下文菜单)。 规模的虚拟键盘以匹配屏幕宽度(见上下文菜单)。这是一个在纵向和横向模式频繁屏幕旋转有用的功能。 更改键盘(见上下文菜单)的类型。可用3虚拟键盘类型。 更改主题颜色(见上下文菜单)。 任何语言中键入文本。 键入文本(例如左手美国德沃夏克)其他布局。 -------------------------------------------------- ------------------------------ 免费的虚拟键盘是为个人和商业使用免费程序。这个节目作为分发的依据,且无任何担保,甚至没有适销性或针对特定目的的隐含的担保。舒适软件集团不能作出对任何直接或间接造成的破坏计划。 舒适软件集团保留权利更改日后发牌条件。 朗读 显示对应的拉丁字符的拼音新! 点击上方的字词即可查看其他翻译。 删除 字典 - 查看字典详细内容
Linux下的PyQt虚拟键盘是一种软件工具,它允许用户在没有物理键盘的设备上模拟键盘输入PyQt是一个基于Python语言的图形用户界面(GUI)开发工具包,它提供了多种功能和工具,可以用于开发各种类型的程序,包括虚拟键盘。 虚拟键盘在一些特定场景下非常有用。比如在一些设备上,由于空间限制或其他原因无法使用物理键盘,这时通过软件实现一个虚拟键盘可以提供方便的用户输入操作。 在Linux系统中,我们可以使用PyQt来开发一个虚拟键盘应用程序。这个应用程序可以使用PyQt提供的图形界面组件来创建一个界面,其中包括模拟的按键按钮。当用户点击这些按钮时,相应的键盘输入就会被模拟发送到系统。 实现虚拟键盘的关键是需要处理按键事件。在PyQt中,我们可以使用事件处理机制来监听按钮的点击事件,并在事件发生时执行相应的操作。通过一些特定的函数和方法,我们可以将模拟的键盘输入发送给系统,从而实现虚拟键盘的功能。 总结来说,Linux下的PyQt虚拟键盘是一种通过软件实现的工具,它可以模拟物理键盘的输入功能。我们可以利用PyQt提供的功能和组件来创建一个界面,并通过事件处理机制来实现按钮点击事件的监听和键盘输入的模拟发送。这样,用户就可以在没有物理键盘的设备上进行方便的输入操作。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值