[英]Signal sharing architecture in Qt
使用MVC,我有幾個視圖類,所有這些都需要寫入事件日志。 事件日志包含一個名為addEntry的插槽,該插槽將數據寫入日志。 我正在努力實現信號。 我不想將事件日志對象傳遞給每個類。 我也是...
1)在每個類中創建本地信號,然后讓我的主窗口將它們全部連接起來? 2)我可以將插槽設為靜態,以便所有視圖都可以訪問它而無需事件日志對象嗎? 3)創建一個信號並將其作為函數指針傳遞到每個類中,以便它們都可以使用相同的信號? 4)還有什么?
謝謝。
假設您的視圖類繼承自QAbstractItemView,則它們已經具有可以使用的信號,特別是如果您使用Q * Widget便利類。 在您的情況下,如果這對我不起作用,請執行1)。 您可能還考慮了來自模型類的信號-畢竟,更新實際上是在這里進行的。
您不能在事件記錄類中設置靜態成員函數來檢索事件記錄實例的ptr嗎? 如果僅此而已,則返回一個全局實例,
靜態EventLogger * EventLogger :: getLoggerInstance();
如果您有多個事件記錄器,則更為細微。
靜態EventLogger * EventLogger :: getLoggerInstance(args,...);
如果視圖需要掛入事件日志記錄,則它將檢索事件日志記錄實例並連接到該實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.