QWebEngineView的问题

book_longker 2017-11-17 11:59:27
QWebEngineView * view = new QWebEngineView(this);
view->load(QUrl("http://www.taobao.com"));

setCentralWidget(view);
QString tmp; //想把下面的v 赋值到这个变量来,不行,

QString cmd = "KISSY.all('a.site-nav-login-info-nick').text();";
connect(view,
&QWebEngineView::loadFinished,
[=](int) {
view->page()->runJavaScript(cmd,[=](const QVariant &v)
{ qDebug() << v.toString(); });
});//这里能打印v的值,如果我想把v的值赋值到tmp然后在外面使用,要怎么修改
...全文
399 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xh286286 2017-11-17
  • 打赏
  • 举报
回复
QString tmp; 改成全局变量, = 改成 &
book_longker 2017-11-17
  • 打赏
  • 举报
回复
非常感谢楼上的兄弟,已经搞定
xh286286 2017-11-17
  • 打赏
  • 举报
回复


QString tmp; //想把下面的v 赋值到这个变量来,不行,

WebBall::WebBall(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//connect(ui.startBtn, SIGNAL(clicked()), this, SLOT(clickStartSlot()) );

QWebEngineView * view = new QWebEngineView(this);
view->load(QUrl("http://www.taobao.com"));

setCentralWidget(view);

QString cmd = "KISSY.all('a.site-nav-login-info-nick').text();";
connect(view,
&QWebEngineView::loadFinished, 
[=, &tmp](int) { view->page()->runJavaScript(cmd,[=, &tmp](const QVariant &v){ tmp = v.toString(); });
});//这里能打印v的值,如果我想把v的值赋值到tmp然后在外面使用,要怎么修改
qDebug() << tmp;

}
这样呢
book_longker 2017-11-17
  • 打赏
  • 举报
回复
QString tmp; //想把下面的v 赋值到这个变量来,不行, WebBall::WebBall(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); //connect(ui.startBtn, SIGNAL(clicked()), this, SLOT(clickStartSlot()) ); QWebEngineView * view = new QWebEngineView(this); view->load(QUrl("http://www.taobao.com")); setCentralWidget(view); QString cmd = "KISSY.all('a.site-nav-login-info-nick').text();"; connect(view, &QWebEngineView::loadFinished, [&](int) { view->page()->runJavaScript(cmd,[&](const QVariant &v){ tmp = v.toString(); }); });//这里能打印v的值,如果我想把v的值赋值到tmp然后在外面使用,要怎么修改 qDebug() << tmp; } 改成上面的情况了
book_longker 2017-11-17
  • 打赏
  • 举报
回复
改了,运行程序到加载网页完成后就出现停止工作的提示
xh286286 2017-11-17
  • 打赏
  • 举报
回复
引用 2 楼 book_longker 的回复:
[=](int) 改成 [&](int) [=] 改成[&] 改这上面2个地方后,编译能成功,但运行会报错;
tmp 变量改成全局了吗?
book_longker 2017-11-17
  • 打赏
  • 举报
回复
[=](int) 改成 [&](int) [=] 改成[&] 改这上面2个地方后,编译能成功,但运行会报错;

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧