当前位置: 首页>>代码示例>>Python>>正文


Python QMenu.addAction方法代码示例

本文整理汇总了Python中guidata.qt.QtGui.QMenu.addAction方法的典型用法代码示例。如果您正苦于以下问题:Python QMenu.addAction方法的具体用法?Python QMenu.addAction怎么用?Python QMenu.addAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在guidata.qt.QtGui.QMenu的用法示例。


在下文中一共展示了QMenu.addAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: MainWindow

# 需要导入模块: from guidata.qt.QtGui import QMenu [as 别名]
# 或者: from guidata.qt.QtGui.QMenu import addAction [as 别名]
class MainWindow(QMainWindow, Ui_MainWindow):
    '''Mainwindow for initial loading of different plugins.
    '''
    
    def __init__(self):
        QMainWindow.__init__(self)
        self.setWindowIcon(get_icon(os.path.join(APP_RESOURCES, 'icons',
                                                  'python.png')))
        self.setupUi(self)
        
        # Redirect output to GUI's QTextEdit
        sys.stdout = OutLog(self.outputTextEdit, sys.stdout)
        sys.stderr = OutLog(self.outputTextEdit, sys.stderr, QColor(255,0,0) )
        
        settings = QSettings()
        size = settings.value("MainWindow/Size",
                              QVariant(QSize(600, 500))).toSize()
        self.resize(size)
        position = settings.value("MainWindow/Position",
                                  QVariant(QPoint(0, 0))).toPoint()
        self.move(position)
        self.restoreState(
        settings.value("MainWindow/State").toByteArray())
    
        self.logger = Logger('Zupport.GUIloader')
        self.logger.debugging = settings.value("Logging/debugging").toBool()
         
        # Set up a ZupportManager to deal with the plugins
        self.manager = Manager(self)
        self.plugins = {}

        # Set up the extents menu
        self.extent = ExtentContainer()
        self.menuExtent = QMenu("Extent")
        resolutions = self.extent.resolutions
        self.extenactiongroup = QActionGroup(self.menuExtent)  
        noneaction = QAction("None", self.menuExtent)
        self.extenactiongroup.addAction(noneaction)
        self.menuExtent.addAction(noneaction)
        for resolution in resolutions:
            resolution_text = str(resolution)
            submenu = self.menuExtent.addMenu(resolution_text) 
            self.menuExtent.addMenu(submenu)
            for area in self.extent.get_names(resolution):
                subaction = QAction(str(area) + ": %s" % resolution_text, 
                                    submenu)
                subaction.setCheckable(True)
                self.extenactiongroup.addAction(subaction)
                submenu.addAction(subaction)
        
        noneaction.isChecked()
        self.menuSettings.addMenu(self.menuExtent)
        
        self.actionDebugging_messages.setChecked(self.logger.debugging)

        self.setWindowTitle("Zupport GUI")
        
        self.load_tools()
        
        self.toolTreeWidget.itemSelectionChanged.connect(self.update_ui)
        self.actionDebugging_messages.toggled.connect(self._set_debugging)
        self.menuExtent.triggered.connect(self.update_ui)
        self.actionLoad_tool.triggered.connect(self.show_tool_gui)
        self.toolTreeWidget.doubleClicked.connect(self.show_tool_gui)
    
    def closeEvent(self, event):
        settings = QSettings()
        settings.setValue("Logging/debugging", self.logger.debugging)
        settings.setValue("MainWindow/Size", QVariant(self.size()))
        settings.setValue("MainWindow/Position",
                          QVariant(self.pos()))
        settings.setValue("MainWindow/State",
                          QVariant(self.saveState()))
    
    def load_tools(self):
        plugins = self.manager.plugins
        for name, plugin in plugins.iteritems():
            item = QTreeWidgetItem(QStringList(name.capitalize()))
            tool_items = []
            for tool_name in plugin.tool_names():
                tool_items.append(QTreeWidgetItem(QStringList(tool_name)))
            item.addChildren(tool_items)
            self.toolTreeWidget.addTopLevelItem(item)
            item.setExpanded(True)
        
        self.statusbar.showMessage("Succesfully loaded %s plugins" % len(plugins), 
                         4000)
    
    def show_tool_gui(self):
        selected_tool = self.toolListWidget.currentItem()
        toolname = str(selected_tool.text())
        parameters = self.manager.plugins[toolname]
        
        # Check if extent is available
        extent = self.extenactiongroup.checkedAction()
        if extent:
            extent = str(extent.text())
            # Extent is a String of the form "area: resolution"
            area, resolution = extent.split(':')
            resolution = int(resolution)
#.........这里部分代码省略.........
开发者ID:cbig,项目名称:zupport,代码行数:103,代码来源:gui.py


注:本文中的guidata.qt.QtGui.QMenu.addAction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。