Python-Disabling Action

poo*_*nam 4 python pyqt

我正在为QGIS开发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)
Run Code Online (Sandbox Code Playgroud)

在某些' if '条件下,我想在菜单栏中禁用其中一个操作.

示例:在Database菜单下,我们有两个列出的数据库连接:

Database
  -- localhost
  -- 192.168.5.6
Run Code Online (Sandbox Code Playgroud)

我想根据具体情况禁用其中一些.我试过a.setCheckable(false)没有成功.

bez*_*max 6

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

a.setEnabled(True/False)
Run Code Online (Sandbox Code Playgroud)

以下是QAction元素的其他信息:QT文档:QAction