我正在使用qt的 FlowLayout 示例。
我为 FlowLayout 中的所有项目添加了一个上下文菜单,以启用重命名和删除。重命名有效,但每当我调用 Remove 时,我都会收到分段错误。
这是removeSlot
电话:
QAction *removeAction = new QAction(tr("Remove"), this);
connect(removeAction, SIGNAL(triggered()), this, SLOT(removeSlot()));
Menu->addAction(removeAction);
并发出信号:
void FlowLayoutWidget::removeSlot()
{
emit removeMe(m_ownId);
}
FlowWindow.cpp 捕获信号并执行以下代码:
void FlowWindow::removeItemAt(int _index)
{
while(QLayoutItem* item = flowLayout->itemAt(_index))
{
QWidget* widget = item->widget();
flowLayout->removeWidget(widget);
delete widget;
break;
}
}
每当调用此函数时,我都会收到分段错误。我该如何解决这个问题?