当一个 QObject 派生的对象被析构时,是否可以从其析构函数中发出信号?我试过了,它似乎可以工作,但我不确定是否应该这样做。
比如这段代码
class MyClass : public QObject {
signals:
void mySignal(const QString &str);
public:
QString myString;
~MyClass() { emit mySignal(myString); }
}
将传递一个 const 引用到执行连接槽时可能超出范围的对象。
最佳答案
发射通常很好(QObject 也使用“破坏”信号),包括你的情况。当连接是直接的时,字符串仍然存在。而当是QueuedConnection时,则先将字符串复制到事件循环中。
关于c++ - 在 Qt 中从对象的析构函数发出信号可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024892/