2013-08-26 72 views
1

例如,我有一個類Document,它有一個私人會員QUndoStack,它有一個信號cleanChanged()。當成員發出信號時,我希望包含類Document發出具有相同名稱的信號,或者來自成員的信號可以傳送到包含類。因此外面知道cleanChanged發生了。如何在其成員發出信號時發出信號?

回答

5

您需要將文檔與QUENDoStack的信號連接起來。您不需要創建插槽並從中發出信號。您可以將信號添加到文檔並將文檔信號與QUODStack的信號相連接。

只要QUENDoStack發出信號,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(); 
}; 
+0

如何不創建一個插槽並從中發射信號?你能告訴我一點小小的代碼嗎? – user1899020