qt信号导致连接上的分段错误

时间:2012-08-18 15:46:02

标签: c++ qt layout signals signals-slots

我创建了一个窗口小部件,当按下按钮时,它只是发出一个信号:

signals:
    void SaveTask( void );

在我的mainwindow.cpp中我定义(在构造函数中):

connect( taskWindow, SIGNAL(SaveTask()), task_view, SLOT(UpdateFromTasks()) );

taskWindow =指向此信号发出的窗口的指针。 task_view =指向主窗口中带有插槽的treewidget的指针。

它的设计使得当您保存任务时,它将显示在树视图中。

不幸的是,当我尝试运行该程序时,它会在连接线上导致段错误,当我删除它时程序运行正常(除了此功能之外)。它编译并且所有元素都被初始化和可用。我根本看不出这怎么会失败。

1 个答案:

答案 0 :(得分:2)

在你将taskWindow或task_view初始化并使用未初始化的指针之前,似乎你正在进行连接。

你也可以尝试这个签名(这应该是同样的东西,但只是为了好的措施)

signals:
    void SaveTask();