簡體   English   中英

Qt信號和時隙的效率

[英]Efficiency of Qt Signals and Slots

我在瀏覽QMainWindow內的方法時,發現某些部分(例如resizeEvent和winEvent)沒有實現為信號,但是您必須繼承此類才能覆蓋它們。

我的問題是,信號和時隙的效率如何?有可能將這些類型的功能實現為其他類可以訂閱的信號。 例如,在高性能游戲引擎內部。

我記得,Trolltech表示,信號/插槽呼叫比virtual呼叫慢大約10倍。 您應該能夠輕松處理每秒數十萬個信號。

信號和插槽的設計使不同的對象可以通信,這兩個對象都在您的控制之下。

您提到的事件一次只涉及一個對象,事件循環直接通知該對象。 這里不需要信號或插槽。

請注意,您可以根據需要在事件成員函數內發出信號。 這通常是對事件做出反應的正確方法。 這樣,其他對象可以訂閱某些內容。

如果您想在其他地方對此類信號做出反應,則從QMainWindow派生,重新實現resize()並從那里發出()信號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM