我已經有了一個更大的項目和架構,並遇到了QT信號時隙系統的情況,信號非常均勻,問題如下:1.不同名稱的不同信號方法如QT有條件的信號發射效率
signals:
sig_1(bool b);
sig_2(bool b);
...
sig_n(bool b);
或: 2.冒落的差作爲參數
signal:
sig(uint n, bool b);
並讓槽方法決定如果n適合它的內部值
個每個選項更糟糕的是,其他:
- awefull代碼,我寧願更像是一個通用的解決方案
- 每個時隙必須檢查它是否數字將適合,所以每次的O一排(N)連接,當moc已經通過一個開關塊,我們可以達到O(log n)
情況:發射器是一個微控制器的抽象,並獲知輸入變化。許多插槽類只有一個或兩個輸入連接,需要了解其變化。在結構上,發射類不應該依賴於slot-class,因此不應該保留它的監聽器列表或者包含一個公共的超類或監聽器接口,這就是爲什麼我堅持使用信號/時隙系統。
所以我的問題: sig/slot系統或moc中是否存在某種擴展或參數,或者我在這裏完全錯過了某些東西?
如果您使用的是Qt 5和連接使用函數指針的新語法的信號和槽,槽應該被直接調用(不通過'qt_static_metacall會()'和'其之開關) 。 –