gpt4 book ai didi

python - PyQt5 - 显示虚拟键盘

转载 作者:行者123 更新时间:2023-12-03 21:13:06 29 4
gpt4 key购买 nike

我试图弄清楚如何在触摸屏上使用虚拟键盘,在 Windows 上使用 python 3.8 和 PyQt5。

我看到 Qt 有他自己的插件 QtVirtualKeyboard。我几乎遵循了所做的一切in this link ,首先安装支持虚拟键盘的Qt 5.15,然后设置环境变量。

一个简单的代码示例是这样的:

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_())


这个想法是在触摸行编辑时显示键盘。目前,该窗口已正确显示,但不会弹出键盘。我尝试按照上面的链接设置 ("QT_DIR", "QT_PLUGIN_PATH",...),但没有任何效果。

我知道我在那里遗漏了一些东西,但无法弄清楚是什么。感谢您的帮助 !

最佳答案

首先,是与 Qt VirtualKeyboard 相关的二进制文件,并且为了不安装 Qt 我使用了 aqtinstall (在本例中安装了 Qt 5.15,但建议使用与编译 pyqt5 相同的版本: python -c "from PyQt5.QtCore import QT_VERSION_STR; print('Qt version', QT_VERSION_STR)" ):

python -m pip install aqtinstall
python -m aqt install 5.15.0 windows desktop win64_msvc2019_64 -m qtvirtualkeyboard --outputdir qt
然后它位于PyQt5前缀路径所在的位置:
python -c "from PyQt5.QtCore import QLibraryInfo; print('QT_PREFIX_PATH:', QLibraryInfo.location(QLibraryInfo.PrefixPath))"
输出:
QT_PREFIX_PATH: C:/Users/eyllanesc/qt_env/lib/site-packages/PyQt5/Qt
然后你必须从安装Qt的文件夹(该文件夹称为qt)复制以下内容到PyQt5的前缀路径(通过前面的命令获得):
  • 将“qt/5.15.0/msvc2019_64/bin/Qt5VirtualKeyboard.dll”文件复制到“QT_PREFIX_PATH/bin”文件夹。
  • 创建文件夹“QT_PREFIX_PATH/plugins/platforminputcontexts”。
  • 将“qt/5.15.0/msvc2019_64/plugins/platforminputcontexts/qtvirtualkeyboardplugin.dll”文件复制到“QT_PREFIX_PATH/plugins/platforminputcontexts”文件夹。
  • 将“qt/5.15.0/msvc2019_64/plugins/virtualkeyboard”文件夹复制到“QT_PREFIX_PATH/plugins”文件夹。
  • 将“qt/5.15.0/msvc2019_64/qml/QtQuick/VirtualKeyboard”文件夹复制到“QT_PREFIX_PATH/qml/QtQuick”文件夹。

  • enter image description here
    对于 linux,它是类似的:
    python -m aqt install 5.15.0 linux desktop -m qtvirtualkeyboard --outputdir qt
    然后
  • 将“qt/5.15.0/gcc_64/bin/libQt5VirtualKeyboard.so.5”文件复制到“QT_PREFIX_PATH/lib”文件夹。
  • 创建文件夹“QT_PREFIX_PATH/plugins/platforminputcontexts”。
  • 将“qt/5.15.0/gcc_64/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so”文件复制到“QT_PREFIX_PATH/plugins/platforminputcontexts”文件夹。
  • 将“qt/5.15.0/gcc_64/plugins/virtualkeyboard”文件夹复制到“QT_PREFIX_PATH/plugins”文件夹。
  • 将“qt/5.15.0/gcc_64/qml/QtQuick/VirtualKeyboard”文件夹复制到“QT_PREFIX_PATH/qml/QtQuick”文件夹。
  • 关于python - PyQt5 - 显示虚拟键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62473386/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com