我试图弄清楚如何在 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 = MainWindow()
mw.show()
sys.exit(app.exec_())
这个想法是在触摸行编辑时显示键盘。目前,该窗口已正确显示,但不会弹出键盘。我尝试按照上面的链接设置 ("QT_DIR", "QT_PLUGIN_PATH",...),但没有任何效果。
我知道我在那里遗漏了一些东西,但不知道是什么。谢谢您的帮助 !