0

我制作了一个充当窗口的小部件,当按下按钮时,它只会发出一个信号:

signals:
    void SaveTask( void );

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

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

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

它被设计成当您保存任务时,它会显示在树形视图中。

不幸的是,当我尝试运行程序时,它会导致连接线上的段错误,当我删除它时,程序运行良好(当然除了这个功能)。它确实编译并且所有元素都已初始化且可用。我根本不明白这怎么会失败。

4

1 回答 1

2

似乎您在初始化 taskWindow 或 task_view 并使用未初始化的指针之前进行了连接。

你也可以试试这个签名(应该是一样的,但只是为了更好的衡量)

signals:
    void SaveTask();
于 2012-08-18T16:13:29.413 回答