我创建了一个窗口小部件,当按下按钮时,它只是发出一个信号:
signals:
void SaveTask( void );
在我的mainwindow.cpp中我定义(在构造函数中):
connect( taskWindow, SIGNAL(SaveTask()), task_view, SLOT(UpdateFromTasks()) );
taskWindow =指向此信号发出的窗口的指针。 task_view =指向主窗口中带有插槽的treewidget的指针。
它的设计使得当您保存任务时,它将显示在树视图中。
不幸的是,当我尝试运行该程序时,它会在连接线上导致段错误,当我删除它时程序运行正常(除了此功能之外)。它编译并且所有元素都被初始化和可用。我根本看不出这怎么会失败。
答案 0 :(得分:2)
在你将taskWindow或task_view初始化并使用未初始化的指针之前,似乎你正在进行连接。
你也可以尝试这个签名(这应该是同样的东西,但只是为了好的措施)
signals:
void SaveTask();