QString variable to Javascript

From Qt Wiki
Revision as of 17:33, 12 March 2015 by AutoSpider (talk | contribs) (Decode HTML entity names)
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Small snippet showing how to call two javascript functions, one without any param, and one with a QString param…

This is a simple html to test with

<html>
 <head>
 <script type="text/javascript">
 function displaymessage(str)
 {
 alert(str);
 }

function displayhello()
 {
 alert("Hello");
 }
 </script>
 </head>

<body>
 <form>
 <input type="button" value="Click me!">
 </form>
 </body>
</html>

Now using the Designer, load this page to a QWebView in your mainwindow. And in the mainwindow.cpp

 QWebFrame *frame = ui->webView->page()->mainFrame();

 // the below line will call the javascript function that does not have any param
 frame->evaluateJavaScript("displayhello()");

// now this is how to call the javascript function which takes a QString param
 QString data("Qt is the Best!"); // can be some large data, say from a file

QString param = QString("displaymessage('%1')").arg(data); // FIXME: Does not work if "data" contains a quote character!
 frame->evaluateJavaScript(param);