2014-10-07 29 views
0

以下是我如何在Action項目上創建菜單。禁用動作,但保持菜單啓用

QAction * menuHolder = new QAction("Holder"); 
menuHolder->setMenu(new QMenu()); 
menuHolder->menu()->addAction(new QAction("Menu item")); 

我的問題是如何禁用menuHolder但要關聯到啓用動作(箭頭enter image description heremenuHolder仍然應該啓用)菜單。 我已經試過這樣的事情,但是,這並不工作:

menuHolder->setEnabled(false); 
menuHolder->menu()->setEnabled(true); ? 

回答

0

編輯點評:

看來你正在尋找你沒有問題的解決方案。與其他許多應用程序一樣,您可以很好地處理該情況:

如果用戶單擊以save,並且沒有權限,只需通知有關情況,如果需要,您可以解釋他/她需要保存文件與另一個名稱。

在大多數應用程序中,用戶將會尋找File -> Save as來做到這一點。

因此,單獨執行操作,您嘗試執行的操作可能會混淆用戶並且從未找到操作Save as,sice處於禁用圖標下。

+0

編號'menuHolder'應該被禁用,但是菜單中的箭頭和動作應該仍然被啓用。 – Edward 2014-10-07 12:21:42

+0

@愛德華你想要做什麼呢?禁用'menuHolder'並保持箭頭的真正目的是什麼? – 2014-10-07 12:24:25

+0

想法如下:'menunHolder'爲保存動作,菜單項爲「另存爲」,「導出」等。保存動作應該禁用,因爲用戶沒有修改原始文件的權限,但他可以保存編輯文件與不同的名稱,出口等 – Edward 2014-10-07 12:27:23