2016-11-01 3 views
1

Ich arbeite an einer Desktop-Anwendung mit pyqt5, und ich möchte eine virtuelle Tastatur mit Handschrifterkennung verwenden. Ich habe gesehen, dass Qt, QtVirtualKeyboard es bereits unterstützt.Unterstützt PyQt5/pyqt4 bereits QtVirtualKeyboard mit Handschrifterkennung?

Hier ist a link!

enter image description here

bekam ich die C++ Qt Beispielcode auf QtCreator ausgeführt wird. Aber mit python3.5 und PyQt5 gibt es diese Meldung:

module "QtQuick.VirtualKeyboard" is not installed 
import QtQuick.VirtualKeyboard 2.1 

Wie soll ich von hier aus weitergehen? Wird PyQt5 mit VirtualKeyboard Modul geliefert? wenn nein Wie installiere ich es auf PyQt5?

Antwort

2

ich mit diesem zu stecken, und ich bin neu in Qt Nach einiger Forschung, und im Quellcode zu graben, fand die Lösung

Sie brauchen nicht zu importieren sie wird es da sein ein Modul zu verwenden implementieren sich jeder qt Eingang

Nun brauchen Sie nicht, es zu installieren auf PyQt5 aber auf QT5, wenn es nicht bereits mit Ihrem Qt-Paket kommen, wenn Sie verwenden archlinux Sie es mit pacman

pacman -S qt5-virtualkeyboard 

installieren Wenn Sie es nicht finden können, ich n Sie os Repositories versuchen, es hier zu bauen, ist documantation https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html

Dann, es zu benutzen in Ihrem pyqt Anwendung, setzen Umgebungsvariable QT_IM_MODULE auf „qtvirtualkeyboard“ entweder von Ihrem bash oder innerhalb der Top-Skript wie

import os 
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard" 
1

für qt desinger können Sie nur diese Zeile in Ihrer .py-Datei hinzufügen.

os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard" 

aber Wenn Sie QML verwenden möchten mit qtvirtualkeyboard;

Es gibt kein virtualkeyboard-Plugin in pyqt5.8, Sie müssen die Pfade von qt verwenden.

Für ein Beispiel, grundlegende Schritte für pyqt5, qt5.8 und qtvirtualkeyboard installiation auf ubuntu:

1.Schritt installieren qt5.8 mit qtvirtualkeyboard

wget http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

chmod + x qt-opensource-linux-x64-5.8.0.run

./qt-opensource-linux-x64-5.8.0.run

2.Schritt

apt-get install python3 python3-pip PIP3 installieren pyqt5

3.Schritt

setzen Umgebungsvariablen Ihre qt Pfade auf Ihrem Python-Code.

import sys, os 
os.environ["QT_DIR"] = "/opt/Qt5.8.0/5.8/gcc_64" 
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins/platforms" 
os.environ["QT_PLUGIN_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/plugins" 
os.environ["QML_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml" 
os.environ["QML2_IMPORT_PATH"] = "/opt/Qt5.8.0/5.8/gcc_64/qml" 
os.environ["QT_IM_MODULE"] = "qtvirtualkeyboard" 

#print(os.environ) 

from PyQt5.QtCore import * 
from PyQt5 import QtCore 
from PyQt5.QtWidgets import * 
from PyQt5.QtQuick import * 


class keyboardapp(object): 
    def __init__(self): 
     self.view = QQuickView() 
     self.view.setObjectName("View") 
     #self.view.setFlags(Qt.FramelessWindowHint) 
     self.view.setSource(QUrl("main.qml")) 
     self.view.setResizeMode(QQuickView.SizeRootObjectToView) 
     #self.Screen = self.view.rootObject() 
     #print("Screen(Root) = " + str(self.Screen)) 
     self.view.show() 

app = QApplication(sys.argv) 
test = keyboardapp() 
sys.exit(app.exec_()) 
Verwandte Themen