PySide2使用屏幕虛擬鍵盤

1.屏幕虛擬鍵盤

創建文件virtualkeyboard.py 

import sys, os
from PySide2.QtWidgets import QApplication, QLineEdit
                                                     
if __name__ == "__main__":
    os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"   # 導入虛擬鍵盤
    app = QApplication(sys.argv)
    lineEdit = QLineEdit()
    lineEdit.show()
    sys.exit(app.exec_())

在代碼前加入os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard",在lineEdit輸入框獲得焦點之後(被點擊),屏幕虛擬鍵盤會自動彈出來。

使用PyInstaller對軟件進行打包後,發現虛擬鍵盤並不能被使用

2.解決PyInstaller打包虛擬鍵盤不能使用的問題

1)屏幕虛擬鍵盤使用QtQuick編寫,那麼打包時應包含QtQuick庫

import sys, os
import PySide2.QtQuick                                 # 導入QtQuick
from PySide2.QtWidgets import QApplication, QLineEdit
                                                     
if __name__ == "__main__":
    os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard"   # 導入虛擬鍵盤
    app = QApplication(sys.argv)
    lineEdit = QLineEdit()
    lineEdit.show()
    sys.exit(app.exec_())

加入import PySide2.QtQuick後,PyInstaller在打包時會自動加入QtQuick庫

2)手動導入虛擬鍵盤庫

複製Python安裝目錄\Lib\site-packages\PySide2\plugins\下的virtualkeyboard文件夾到文件virtualkeyboard.py所在的當前目錄;然後在執行PyInstaller時,加入以下選項:

--add-data .\virtualkeyboard;.\PySide2\plugins\virtualkeyboard

此選項將當前文件夾下的virtualkeyboard文件夾以數據的形式複製到打包目錄\PySide2\plugins\下,至此在打包目錄下虛擬鍵盤運行的全部環境就緒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章