【发布时间】:2012-04-11 05:08:16
【问题描述】:
环顾四周,人们似乎也遇到了类似的问题,但有来自不同来源的多个信号等。我的情况是,我有一个对象可以指示它是否成功、失败或被取消。这些信号被传递给另一个类,并且没有连接到插槽,只是一个信号。现在我想解决这个问题,无论对象发送什么信号(失败、成功、取消),都会调用一个槽来删除对象。简而言之,我想要一种将对象的每个信号都连接到插槽的方法。
想做这样的事情:
connect(myObject, allSignals, this, handleObjectDone());
void handleObjectDone() {
myObject->deleteLater();
}
有没有办法做到这一点?或者我应该在每次它做某事时传递两个信号,例如emit readyToBeDeleted() 和emit succeded()?
谢谢!
【问题讨论】:
-
你想删除从连接槽发出信号的对象吗?
-
我想从一个对象中捕获任何信号以便能够知道何时删除它
-
你不能使用 deleteLater() 吗?
-
deleteLater 删除范围末尾的某些内容。我必须等到这些请求准备就绪后才能使用 delete later 删除它们
标签: c++ qt signals-slots