本文整理匯總了Python中guidata.qt.QtGui.QMenu.addMenu方法的典型用法代碼示例。如果您正苦於以下問題:Python QMenu.addMenu方法的具體用法?Python QMenu.addMenu怎麽用?Python QMenu.addMenu使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類guidata.qt.QtGui.QMenu
的用法示例。
在下文中一共展示了QMenu.addMenu方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: MainWindow
# 需要導入模塊: from guidata.qt.QtGui import QMenu [as 別名]
# 或者: from guidata.qt.QtGui.QMenu import addMenu [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)
#.........這裏部分代碼省略.........