Je construis une application de bureau en utilisant PyQt python qui a un QwebBrowser. maintenant je cours une certaine fonction en utilisant javascript qui renvoie une valeur disent abc selon l'exemple suivant.Valeur de retour de l'emplacement PYQt de QwebView au widget de la fenêtre principale (PYQt python)
class QWebView(QWebView):
def contextMenuEvent(self,event):
menu = QMenu()
self.actionShowXpath = menu.addAction("Show Xpath")
QObject.connect(self.actionShowXpath,SIGNAL("triggered()"),self,SLOT("slotshowxpath()"))
menu.exec_(self.mapToGlobal(QPoint(event.x(),event.y())))
@pyqtSlot()
def slotshowxpath(self):
frame.evaluateJavaScript("var abc = function get()");
result = frame.evaluateJavaScript("abc").toString()
**some code code to put result in QLineEdit Widget**
# something like below
# xpath.setText(result)
def window():
app = QtGui.QApplication(sys.argv)
w = QtGui.QWidget()
web = QWebView(w)
web.load(QUrl("http://www.indiatimes.com/"))
web.show()
xpath = QtGui.QLineEdit("", w)
sys.exit(app.exec_())
if __name__ == '__main__':
window()
maintenant, je veux mettre la valeur abc dans un widget QLineEdit (« XPath ») présent dans mon application.please me donner suggestion comment je peux-je faire cela?
Jetez un oeil à cet article: [PySide. JavaScript. Exécutez js et obtenez le résultat sous forme de texte pur ou html] (http://stackoverflow.com/a/20047805/2473979) – salomonderossi
Ce n'est pas comme ça que vous appelez une fonction dans js. – 7stud
@salomonderossi merci pour la référence, mais je veux savoir comment mettre la valeur de résultat dans le widget QLineEdit qui est présent dans un autre def. –