我使用Qt 5.0 + mingw来构建我的应用程序,我想使用“webkitwidgets”模块。我添加.pro文件
QT += webkitwidgets
然后在我的代码中我创建了一个线程,我写了这个帖子:
QWebPage page;
当调试器到达此行时,我的调试将终止并出现以下错误:
“Microsoft visual c ++运行时库
此应用程序已请求Runtime以不寻常的方式终止它。 请联系应用程序的支持团队获取更多信息。“
所以我甚至无法声明QWebPage类型的变量。为什么会发生这种情况,有没有办法解决它?
答案 0 :(得分:1)
遇到这样的崩溃时,首先看stdout,stderr和调试通道,然后在调试器中运行它。
但是,正如你所说,你在一个线程中创建了QWebPage:这是行不通的。在Qt(以及几乎所有其他UI工具包)中,所有UI类必须存在于主线程中,即一个QApplication存在。将声明移动到主线程,它应该工作。 此外,如果在应用程序退出之前没有离开块,那么在堆栈上创建实例是唯一正确的事情(通常这只是在main()中的情况)。否则你必须在堆上创建它。