例如,我有一个类Document
,它有一个私有成员QUndoStack
,它有一个信号cleanChanged()
。当成员发出信号时,我希望包含类Document
发出同名的信号,或者可以将来自成员的信号转移到包含类。于是,外界知道cleanChanged
发生了。
问问题
103 次
1 回答
5
您需要将 Document 与 QUndoStack 的信号连接起来。您无需创建插槽并从中发出信号。您可以将信号添加到 Document 并将 Document 的信号与 QUndoStack 的信号连接起来。
一旦 QUndoStack 发出信号,Document 也会发出信号。
编辑:
这是一个例子。它可能无法编译,它的目的只是向您展示诀窍。
class Document: public QObject
{
QUndoStack *m_QUndoStack;
public:
Document(QObject *parent): QObject(parent), m_QUndoStack(new QUndoStack(this))
{
//here we do the trick:
connect(m_QUndoStack, SIGNAL(somesignal()), this, SIGNAL(somesignal());
}
signals:
void somesignal();
};
于 2013-08-26T17:20:27.387 回答