我制作了一个充当窗口的小部件,当按下按钮时,它只是发出信号:
signals:
void SaveTask( void );
我在mainwindow.cpp中定义(在构造函数中):
connect( taskWindow, SIGNAL(SaveTask()), task_view, SLOT(UpdateFromTasks()) );
taskWindow =指向此信号发出的窗口的指针。
task_view =指向主窗口中带有插槽的treewidget的指针。
它的设计目的是使您在保存任务时将其显示在树视图中。
不幸的是,当我尝试运行该程序时,它会在连接线上造成段错误;当我删除它时,该程序就可以正常运行(当然除了此功能)。它确实可以编译,并且所有元素都已初始化且可用。我根本看不出这怎么会失败。
最佳答案
好像您在初始化taskWindow或task_view并使用未初始化的指针之前就已经进行了连接。
您也可以尝试使用此签名(应该是相同的东西,但只是出于很好的考虑)
signals:
void SaveTask();