相关疑难解决方法(0)

PyQt5 - 显示虚拟键盘

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

我看到 Qt 有他自己的插件 QtVirtualKeyboard。我几乎遵循了这个链接中所做的,首先安装了支持虚拟键盘的 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 = …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt5 qtvirtualkeyboard

4
推荐指数
1
解决办法
3488
查看次数

如何找到包含 QtVirtualKeyboard 的窗口

我在嵌入式设备上使用 qt 小部件,但虚拟键盘有问题。键盘显示为全屏并与所有应用程序重叠。

在Yocto 中的虚拟键盘顶部黑屏一文中描述了如何解决此问题。

简而言之,你需要用键盘找到QQuickWindow,并在这个窗口上调用setMask。然后键盘上方的区域就会变成透明的

我在如何使用虚拟键盘查找 QQuickWindow 时遇到问题。我尝试使用

QApplication::allWidgets()
Run Code Online (Sandbox Code Playgroud)

但窗户不在这里。

c++ qt qtvirtualkeyboard

3
推荐指数
1
解决办法
2326
查看次数

标签 统计

qtvirtualkeyboard ×2

c++ ×1

pyqt ×1

pyqt5 ×1

python ×1

qt ×1