所以我有一個行動,我想在多個菜單(主菜單和一些上下文菜單之一)中公開。我希望菜單項的文本從菜單到菜單略有不同(爲了使助記符獨一無二,並且在每個上下文中必要或多或少冗長)。因爲每個菜單的項目都是單獨定義的,並且可以映射到與處理程序鏈接的相同ID,所以在MFC中(我有興趣從此刻遷移出去),這很容易。但在Qt中,QAction
封裝了行爲以及文本/圖標/等。所以我不認爲它有直接的支持來返回不同的文本,取決於它被使用的地方。如何在兩個QMenus中使用不同文字的QAction?
我如何處理這一點,對於每個位置,以創建「代理」 QAction
,其中有專門針對這方面的文字,只是有其連接到原始QAction
的一個triggered()
信號想法。但我想我應該先檢查一下是否有更簡單的方法來解決這個問題。
對,謝謝你,這是有道理的。我沒有這樣看待它,因爲我在哪裏工作,已建立的技術是對QAction進行子類化,並在該類中的某個插槽中實際完成工作(或其中的一部分)(連接到同一類上的信號) 。 – Owen 2011-03-01 21:25:28
那麼如果它不是一個公共插槽,你總是可以將信號連接到信號。 – zkunov 2011-03-01 21:58:18