可以给我一个如何解决它的想法。
第一页包含三个标签:
<object type="application/x-qt-plugin"
classid="TabWidget" name="TabWidget" id="TabWidget"></object>
<object type="application/x-qt-plugin"
classid="ColorPicker" name="colorPicker" id="ColorPicker"></object>
<object type="application/x-qt-plugin"
classid="BaseColorsCircles" name="baseColorsCircles" id="BaseColorsCircles"></object>这会导致以下函数被调用三次:
QObject* customWebPage::createPlugin(
const QString &classid,
const QUrl &url,
const QStringList ¶mNames,
const QStringList ¶mValues)
{
if (classid=="ColorPicker"){
return colorPicker;
} else if(classid=="BaseColorsCircles"){
return baseColorsCircles;
} else if(classid=="TabWidget") {
return tabs;
} else if(classid=="ColorBlender") {
return blender;
} else
return 0;
}一切都很好,我甚至有几个插槽和信号连接在他们之间,它的工作。问题是当我以任何方式重新加载页面时(刷新或转到另一个页面并返回)。再次调用该函数,当尝试返回任何已嵌入的元素时,它崩溃并返回错误0xC0000005,调试器给出一个警告:“SIGSEGV已停止,因为它收到了来自操作系统的信号。信号名称:SIGSEGV信号含义:分段故障。”
有什么想法吗?我甚至尝试过删除指针并在再次返回它们之前重新初始化它们,但是,"delete“指令导致了这个错误。谢谢。
发布于 2012-06-03 21:43:07
不要紧。每次浏览器重定向时,对象都会被删除,所以每次都必须创建新的对象。
https://stackoverflow.com/questions/10841825
复制相似问题