我在其中一個對象中有兩個QObject子類的實例和兩個QMetaMethod實例,另一個對象中有一個槽。我想將這個信號和插槽連接起來。如何在QObject中使用QMetaMethod :: connect
我查看了qobject.h文件,發現SIGNAL()和SLOT()宏只是在方法簽名的開頭添加了「1」或「2」字符,所以它看起來應該是可能的將相同的字符添加到由QMetaMethod :: signature()返回的字符串的開頭,但這種方法依賴於某些未公開的工具包內部結構,並可能隨時被新版本的Qt破壞。
有沒有人知道通過QMetaMethod反射表示法連接信號和插槽的可靠方法?
編輯:Qt中的問題跟蹤 我已經創建了建議: https://bugreports.qt.io/browse/QTBUG-10637 如果有人也有興趣在此功能,您可以投票給這張票那裏。
看起來你是對的。我會嘗試在Qt-interest郵件列表中詢問,如果沒有答案,我會填寫一個願望清單條目。 – VestniK 2010-05-10 13:46:19
我有一些生成的代理類,它們在調用插槽時創建和發送RPC請求,並在通過網絡接收到一些RPC請求時發出信號(這是我自己的小型開源庫http://qremotesignal.googlecode.com)。我想添加一個函數,它可以自動將代理類中的所有RPC共享信號和插槽與某個目標類的信號和插槽相連接,這些目標類在使用此庫的應用程序中進行實際工作。 – VestniK 2010-05-10 13:52:09