2012-04-03 55 views
3

我正在開發針對QGIS的python插件。我列出所有的數據庫連接到菜單欄,使用下面的代碼:Python禁用操作

for key in sorted(self.actionsDb.iterkeys(), key=lambda x: x.lower()): 
        a = self.actionsDb[key] 
        self.menuDb.addAction(a) 
        a.setCheckable(True) 
        self.connect(a, SIGNAL("triggered(bool)"), self.dbConnectSlot) 

在某些「如果」狀態,我要讓禁用在菜單欄中的行動之一。

舉例:下數據庫菜單,我們有兩家上市數據庫連接:

Database 
    -- localhost 
    -- 192.168.5.6 

我想使他們中的一些依賴於特定條件殘疾。我試過a.setCheckable(false)沒有成功。

回答

5

如果我理解你的權利,你需要的是:

a.setEnabled(True/False) 

這裏的QAction元素上一些額外的信息:QT Documentation:QAction

+0

感謝名單:) ..我得到它....... – poonam 2012-04-03 11:41:35