【发布时间】:2020-10-09 21:24:36
【问题描述】:
我正在尝试弄清楚如何在 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",...),但没有任何效果。
我知道我在那里遗漏了一些东西,但不知道是什么。感谢您的帮助!
【问题讨论】:
-
你编译过qtvirtualkeyboard吗?
-
@eyllanesc 老实说,我认为它是通过 Qt 可执行文件安装插件时自动完成的。我正在研究如何编译它(我忘了说我是 Qt 新手)并让你知道它是如何进行的......
-
@eyllanesc 我通过 Qt Creator 编译了 qtvirtualkeyboard(使用 MingGW 和 MSVC 编译,没有任何错误),然后运行“make install”。我可以通过 C++ 代码示例轻松地使用键盘,但是,不能使用 PyQt5,上面的小脚本没有显示任何内容。
标签: python pyqt pyqt5 qtvirtualkeyboard