pyqtSlot und pyqtProperty funktionieren nicht mehr
Verfasst: Sonntag 23. Februar 2014, 15:47
Hallo zusammen,
da dies mein 1. Beitrag in diesem Forum ist, möchte ich alle zuerst grüssen. Nun zur Sache.
Ich habe nach diesem Vorbild (http://pysnippet.blogspot.de/2010/01/ca ... pyqts.html)
ein Script erstellt mit dem ich von JavaScript auf Python zugreifen kann.
Hier die wichtigsten Auszüge aus meinem Script:
Und in der Main-Klasse habe ich natürlich
hinzugefügt. In JavaScript lautet dann der Aufruf:
Das funtioniert spitzenmässig unter Kubuntu 12.10 mit folgenden Versionen
libqtcore4: 4.8.3
python-qt4: 4.9.3-4
Ich habe nun in einem neuen Rechner Kubuntu 13.10 installiert, dies enthält die Versionen
libqtcore4: 4.8.4
python-qt4: 4.10.3
Seitdem funktionieren die Aufrufe:
nicht mehr. (fMessage und pyVersion dienen nur zu Testzwecken). Wenn ich nun in JavaScript das Vorhandensein der Objekte prüfe
erhalte ich true.
ergibt false.
Bei meinen Recherchen bin ich auf folgende Seite gestossen http://srinikom.github.io/pyside-bz-archive/100.html
(Deshalb auch der Test mit pyVersion). Obwohl es hier meiner Meinung nach um eine ältere Version handelt scheint es mein Problem zu betreffen.
Kann es sein, dass dieser Fehler wieder präsent ist?
Ich bin nun mit meinem Latein am Ende und hoffe, dass mir hier jemand weiterhelfen kann, da ich das Script für meine "HTML-App" dringend benötige.
Mit Dank im Voraus, Gruß
da dies mein 1. Beitrag in diesem Forum ist, möchte ich alle zuerst grüssen. Nun zur Sache.
Ich habe nach diesem Vorbild (http://pysnippet.blogspot.de/2010/01/ca ... pyqts.html)
ein Script erstellt mit dem ich von JavaScript auf Python zugreifen kann.
Hier die wichtigsten Auszüge aus meinem Script:
Code: Alles auswählen
class classPyConnect(QtCore.QObject):
@QtCore.pyqtSlot(str, str, int, int)
def fEditWindow(self, pValue, pHeader, pWidth, pHeight):
try:
self.oWebView = QtWebKit.QWebView()
...
...
except:
msgBox = QtGui.QMessageBox()
msgBox.setText("Beim Initialisieren ist ein Fehler aufgetreten")
msgBox.show()
@QtCore.pyqtSlot(str)
def fMessage(self, pValue):
QtGui.QMessageBox.information(None, "Info", pValue)
def _pyVersion(self):
#Return the Python version.
return sys.version
#Python interpreter version property.
pyVersion = QtCore.pyqtProperty(str, fget=_pyVersion)
Code: Alles auswählen
......addToJavaScriptWindowObject("clPyConnect", classPyConnect())
Code: Alles auswählen
clPyConnect.fEditWindow("irgendwas", "irgendwas", 20, 20);
libqtcore4: 4.8.3
python-qt4: 4.9.3-4
Ich habe nun in einem neuen Rechner Kubuntu 13.10 installiert, dies enthält die Versionen
libqtcore4: 4.8.4
python-qt4: 4.10.3
Seitdem funktionieren die Aufrufe:
Code: Alles auswählen
clPyConnect.fEditWindow("irgendwas", "irgendwas", 20, 20)
clPyConnect.fMessage("irgendetwas");
alert(clPyConnect.pyVersion);
Code: Alles auswählen
ergebnis = clPyConnect ? true : false;
Code: Alles auswählen
ergebnis = clPyConnect.fEditWindow ? true : false;
Bei meinen Recherchen bin ich auf folgende Seite gestossen http://srinikom.github.io/pyside-bz-archive/100.html
(Deshalb auch der Test mit pyVersion). Obwohl es hier meiner Meinung nach um eine ältere Version handelt scheint es mein Problem zu betreffen.
Kann es sein, dass dieser Fehler wieder präsent ist?
Ich bin nun mit meinem Latein am Ende und hoffe, dass mir hier jemand weiterhelfen kann, da ich das Script für meine "HTML-App" dringend benötige.
Mit Dank im Voraus, Gruß