QWebview的问题!高分求助!!!

lawxiaolaw 2012-06-04 03:48:42
在一个OGRE+QT的游戏里面,我想加入一个对话框,里面加载网页显示,现在的问题是我用的QWebview,在load网址的时候(还没有load完)会崩溃,某处地址访问冲突。这大概是什么原因引起的呢???
...全文
815 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgz12341232 2014-09-16
  • 打赏
  • 举报
回复
楼主,你现在解决了没?求指导!
jun5love 2013-09-19
  • 打赏
  • 举报
回复
引用 15 楼 xianitzph9 的回复:
我debug好着 release 也是这个问题
我也碰到了同样的问题,release版本的用的自己编译的静态库,有谁解决了没有?
xianitzph9 2013-06-07
  • 打赏
  • 举报
回复
有没有解决办法?
xianitzph9 2013-06-07
  • 打赏
  • 举报
回复
我debug好着 release 也是这个问题
zhuangweidajiba 2013-04-10
  • 打赏
  • 举报
回复
我也遇到了这个问题啊,楼主解决了没啊,求分享
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
哥,和那个ui什么的没关系的。我现在想知道的是load的过程中为什么会崩溃。和什么冲突了?
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
你是不是ui里面和 类里面有个相同名字的东西,然后ui里面的那个被new了出来,类里面的那个没有。
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
。。。问题是一样的,用不用都一样。都是在load的过程中出现崩溃,访问冲突。而且我新建一个工程就不会有这个问题。
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
继承 Ui::Dialog , 有这样的写法吗? 而且双继承, 你没用ui的时候出现什么问题?我在工程里面也是这么用的, 也没出问题啊。
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
class WebViewer : public QDialog, public Ui::Dialog

我一开始就没用ui,出现问题以后才用的ui。而且问题是一样的。
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
你继承的不是 QDialog 吗? 而且 ,你一个类怎么继承一个 .h的文件?? 感觉你的东西好混乱,你用
你把WebViewer这个写到类里面去,写成个全局的类的变量,别用ui拖,把ui的那个干掉,
webView = new QWebView;
webView->load(QUrl(QString("http://www.baidu.com")));
然后直接这样吧。在设置下坐标就是了。。
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
WebViewer继承了ui_WebProductsView.h。
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
在ui里面new的 应该要通过 ui->webView 这样调用吧, 你直接调用 应该是两个东西吧。
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
load的过程是怎么样的?会与什么冲突呢?
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
当然了,setupUi(this);
里面
public:
QWebView *webView;

void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QString::fromUtf8("Dialog"));
Dialog->resize(452, 667);
webView = new QWebView(Dialog);
webView->setObjectName(QString::fromUtf8("webView"));
webView->setGeometry(QRect(0, 0, 451, 671));
webView->setUrl(QUrl("about:blank"));
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
webView 这个对象new出来了吗
lawxiaolaw 2012-06-04
  • 打赏
  • 举报
回复
WebViewer::WebViewer(QWidget *parent /* = 0 */,Qt::WFlags flags /* = 0 */) : QDialog(parent)
{
setupUi(this);
webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
QUrl _url("http://www.163.com/");
webView->load(_url);
connect(webView, SIGNAL(linkClicked(const QUrl&)), this, SLOT (on_webView_linkClicked(const QUrl&)));
connect(webView, SIGNAL(loadFinished()), this, SLOT (finished()));
}

调用:
mWebProductsView = new WebViewer(parent);
mWebProductsView -> show();

然后load的过程中就崩溃,
void * __cdecl _malloc_base (size_t size)
{
void *res = NULL;

// validate size
if (size <= _HEAP_MAXREQ) {
for (;;) {

// allocate memory block
res = _heap_alloc(size);
此处 中的 0x1062fe3c 处最可能的异常: 0xC0000005: 写入位置 0x00130000 时发生访问冲突
xiebin133 2012-06-04
  • 打赏
  • 举报
回复
有没有 new 出对象。贴代码看看。

16,199

社区成员

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

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