首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用c++和QT显示动态数据的网页

如何使用c++和QT显示动态数据的网页
EN

Stack Overflow用户
提问于 2012-05-31 14:02:23
回答 3查看 2.9K关注 0票数 3

我试图用动态数据使用C++/QT显示网页。

  1. 如果用户单击,则应显示该网页。
  2. 网页应包含表格格式的数据。数据将使用C++从表中读取,并且是动态的。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-31 14:58:02

您可以使用QWebView函数设置setHtml()内容。看一看文档。当用户单击按钮加载HTML时调用它。要获取加载的HTML代码的内容,可以使用QWebFrame在QWebView中提供的两个方法:

webview->page()->mainFrame()->toPlainText()

webview->page()->mainFrame()->toHTML()

您必须解析HTML才能从QWebView中显示的表中读取数据。

票数 3
EN

Stack Overflow用户

发布于 2012-05-31 15:01:41

对第一个问题的回答

您可以使用QWebView使用QWebView::setHtml()QWebView::load()函数显示启动html。

对第二个问题的回答

对于这个问题,可以通过多种方法在页面中设置动态数据。

一种方法是可以使用javascript函数来更新html表。它将被插入到<script>标记的html中。现在您可以使用以下函数传递数据(通过c++读取)。

代码语言:javascript
运行
复制
webView->page()->mainFrame()->evaluateJavaScript(yourJavascript);

那么,您必须从通过yourJavascript读取的数据中生成javascript函数调用字符串c++。

但是,如果您可以以JSON格式从数据库中检索数据,这对您来说将是非常容易的。例如,您可以使用QJson第三方库解析和序列化JSON数据,如下所示。

代码语言:javascript
运行
复制
QByteArray data;   // Say data arrived from the database is stored in this object.

QJson::Parser parser;
QVariantMap map = parser.parse(data).toMap();

// Now serialize it and pass it to javascript function as an argument..

QJson::Serializer serializer;
QString javaScript = "updateHtmlView(" + serializer.serialize(map) + ");";

webView->page()->mainFrame()->evaluateJavaScript(javaScript);

现在,您可以通过在javascript中读取JSON对象来更新html表。

票数 2
EN

Stack Overflow用户

发布于 2012-05-31 14:20:31

看看QWebView,http://doc.qt.io/qt-5/qwebview.html

来自上述网站的示例

代码语言:javascript
运行
复制
QWebView *view = new QWebView(parent);
    view->load(QUrl("http://qt.nokia.com/"));
    view->show();

在用户单击的事件处理程序中创建此视图,所有这些视图都应该正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10835177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档