在QMenu小部件中作为QAction接收器传递的对象的生命周期是多少?

时间:2014-07-03 06:53:43

标签: qt

我正在使用QMenu来实现一些自定义功能。 我无法理解在执行QMenu pop和触发任何操作期​​间特定对象何时被销毁。 这是实际密码的片段:

myCustomMenu,来自QMenu的派生类有一个函数customExec()

void myCustomMenu::customExec()
{    myCustomMenu *rearrangedMenu = new myCustomMenu();
     myCustomFunctionalityClass *mCFC = new mCFS(this, rearrangedMenu);
     //This class saves "this" as originalMenu i.e. the current menu object's address in      a variable so that I can access with following action's SLOT.
     rearrangedMenu->addAction(" Open My Custom Widget", mCFC, SLOT(showWidget()) ;
     rearrangedMenu->exec();
}

当我点击"打开我的自定义小工具"一个gui小部件打开,如果我尝试访问mCFC-> originalMenu-> size(),它会在showWidget()内部崩溃。 看来该物体已被摧毁。 我的问题是如何访问该对象?如果它被破坏那么为什么不是mCFC对象,它也是一个局部变量。

编辑:showWidget插槽是mCFC类的成员。

如果您对此有任何疑问,请添加评论。我已经坚持了一段时间。

0 个答案:

没有答案