完美解决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 = Noneself.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。
完美解决Pyqt5 调用软键盘适用于触摸屏相关推荐
- 移动端h5唤起键盘_移动端H5界面打开后,如何自动调用软键盘
test(){ // let aa = this.$refs.input1.blur(); // this.$nextTick((x)=>{ //正确写法 // // this.$refs.in ...
- Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)
前言 如题的需求经常会在甲方的需求中出现,比如一体机上,大多客户会不选择键盘和鼠标,因为觉得比较low的可能.自己弄一个内置UI键盘的话也是可行的,只不过可能就英文输入好实现,实现带中文的输入可能就比 ...
- android 键盘退回 慢,调用软键盘的速度很慢。。。
安卓机器上测试,每一次打开软件 ,第一次触发调用软键盘,要延迟2-3秒才会出来,,, 然后再点的时候,就速度很快了,,这是什么原因?? 代码如下: var openSoftKeyboard = fun ...
- wincc调用软键盘的几种方法
wincc调用软键盘 软件设置 VB脚本 调用windows系统软键盘 调用wincc自带软键盘 C脚本 调用windows系统软键盘 调用wincc自带软键盘 软件设置 打开"计算机属性& ...
- Qt5 QLineEdit实现点击调用软键盘
Qt版本: Qt 5.9.3 (MSVC 2015, 32 bit) 我们知道,QLineEdit 是没有Clicked信号的,那么怎么实现点击它调用软件盘呢? 麻烦点的有重写 LineEdit 的 ...
- 打开、关闭系统软键盘(触摸屏)
开启.关闭系统软键盘 调用头文件 #include <Windows.h> #pragma comment(lib, "user32.lib") void OpenSy ...
- 调用软键盘_Android 支持拖动、缩放的自定义软键盘
点击上方"Android技术杂货铺",选择"标星" 干货文章,第一时间送达! 开篇 本次给大家分享的是支持拖动.缩放的自定义原生软键盘.不同于市面上的自定义软件 ...
- 完美解决:调用sklearn出现诸如ImportError: cannot import name ‘LogisticR‘ from ‘sklearn.linear_model‘ (D:\Progr
1.问题:调用sklearn出现诸如 ImportError: cannot import name 'LogisticR' from 'sklearn.linear_model' (D:\Progr ...
- 解决登陆界面软键盘弹出遮住登陆按钮
android:windowSoftInputMode属性一共同拥有9个取值.各自是: stateUnspecified: 当设置属性为stateUnspecified的时候,系统是默认不弹出软键盘的 ...
- Window调用软键盘方法
1 调用运行界面 win + r 快捷键也行 2 输入osk,回车 3 华丽丽的软键盘 因为笔记本的B和Q键坏了,所以只能出此下次,记得固定在Window底下的任务栏中,方便随时显示
最新文章
- 支付宝支付框js代码
- 启明云端分享| 彩屏化的86控制面板(简称86盒)怎么选型硬件和对比
- 关闭钩子(ShutdownHook)
- Visual studio 打包
- pytorch 加载模型_福利,PyTorch中文版官方教程来啦(附下载)
- DataGridview动态添加列
- 如何用python读取表_Python读取MySQL表数据的方法介绍
- 阅读《经济学人》,学会这样查词典,从此英语学习不求人
- 最适合使用外汇跟单软件的人
- 广东将5G基站专项规划纳入各地国土空间规划
- 嵌入式芯片调试神器-J-Link RTT详解
- 看我是怎样捣鼓Linux的
- JEECG3.8 全套实战视频全部开放,免费下载!
- Web3 | DID赛道之 Galxe(原 Project Galaxy)
- 生活中软件易用性的例子_多用“举出例子”“比如说”,来进行生活中的语言交流...
- 图形化编程语言的设计
- 在CMD中登陆MySQL
- 【Linux基本操作】Day1
- 恢复服务器的文件,云服务器怎么恢复文件
- 数字经济专家高泽龙谈“金融元宇宙”与“元宇宙金融”