可以给我一个如何解决它的想法。
第一页包含三个 <object> 标签:
<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 信号含义:分段错误。”
有任何想法吗?我什至尝试删除指针并在再次返回它们之前重新初始化它们,但是,“删除”指令会导致错误。谢谢你。