diff options
Diffstat (limited to 'pysideuic/uiparser.py')
-rw-r--r-- | pysideuic/uiparser.py | 92 |
1 files changed, 47 insertions, 45 deletions
diff --git a/pysideuic/uiparser.py b/pysideuic/uiparser.py index 9f86972..15421c1 100644 --- a/pysideuic/uiparser.py +++ b/pysideuic/uiparser.py @@ -46,6 +46,7 @@ if sys.version_info < (2,4,0): QtCore = None QtGui = None +QtWidgets = None def gridPosition(elem): @@ -69,7 +70,7 @@ class WidgetStack(list): DEBUG("push %s %s" % (item.metaObject().className(), item.objectName())) self.append(item) - if isinstance(item, QtGui.QWidget): + if isinstance(item, QtWidgets.QWidget): self.topwidget = item def popLayout(self): @@ -83,7 +84,7 @@ class WidgetStack(list): DEBUG("pop widget %s %s" % (widget.metaObject().className(), widget.objectName())) for item in reversed(self): - if isinstance(item, QtGui.QWidget): + if isinstance(item, QtWidgets.QWidget): self.topwidget = item break else: @@ -95,17 +96,18 @@ class WidgetStack(list): return self[-1] def topIsLayout(self): - return isinstance(self[-1], QtGui.QLayout) + return isinstance(self[-1], QtWidgets.QLayout) class UIParser(object): - def __init__(self, QtCoreModule, QtGuiModule, creatorPolicy): + def __init__(self, QtCoreModule, QtGuiModule, QtWidgetsModule, creatorPolicy): self.factory = QObjectCreator(creatorPolicy) - self.wprops = Properties(self.factory, QtCoreModule, QtGuiModule) + self.wprops = Properties(self.factory, QtCoreModule, QtGuiModule, QtWidgetsModule) - global QtCore, QtGui + global QtCore, QtGui, QtWidgets QtCore = QtCoreModule QtGui = QtGuiModule + QtWidgets = QtWidgetsModule self.reset() @@ -113,7 +115,7 @@ class UIParser(object): """UIParser.uniqueName(string) -> string Create a unique name from a string. - >>> p = UIParser(QtCore, QtGui) + >>> p = UIParser(QtCore, QtGui, QtWidgets) >>> p.uniqueName("foo") 'foo' >>> p.uniqueName("foo") @@ -173,22 +175,22 @@ class UIParser(object): # if is a Menubar on MacOS macMenu = (sys.platform == 'darwin') and (widget_class == 'QMenuBar') - if isinstance(parent, (QtGui.QDockWidget, QtGui.QMdiArea, - QtGui.QScrollArea, QtGui.QStackedWidget, - QtGui.QToolBox, QtGui.QTabWidget, - QtGui.QWizard)) or macMenu: + if isinstance(parent, (QtWidgets.QDockWidget, QtWidgets.QMdiArea, + QtWidgets.QScrollArea, QtWidgets.QStackedWidget, + QtWidgets.QToolBox, QtWidgets.QTabWidget, + QtWidgets.QWizard)) or macMenu: parent = None # See if this is a layout widget. if widget_class == 'QWidget': if parent is not None: - if not isinstance(parent, QtGui.QMainWindow): + if not isinstance(parent, QtWidgets.QMainWindow): self.layout_widget = True self.stack.push(self.setupObject(widget_class, parent, elem)) - if isinstance(self.stack.topwidget, QtGui.QTableWidget): + if isinstance(self.stack.topwidget, QtWidgets.QTableWidget): self.stack.topwidget.setColumnCount(len(elem.findall("column"))) self.stack.topwidget.setRowCount(len(elem.findall("row"))) @@ -197,16 +199,16 @@ class UIParser(object): self.layout_widget = False - if isinstance(widget, QtGui.QTreeView): + if isinstance(widget, QtWidgets.QTreeView): self.handleHeaderView(elem, "header", widget.header()) - elif isinstance(widget, QtGui.QTableView): + elif isinstance(widget, QtWidgets.QTableView): self.handleHeaderView(elem, "horizontalHeader", widget.horizontalHeader()) self.handleHeaderView(elem, "verticalHeader", widget.verticalHeader()) - elif isinstance(widget, QtGui.QAbstractButton): + elif isinstance(widget, QtWidgets.QAbstractButton): bg_i18n = self.wprops.getAttribute(elem, "buttonGroup") if bg_i18n is not None: bg_name = bg_i18n.string @@ -230,14 +232,14 @@ class UIParser(object): lay = self.stack.peek() gp = elem.attrib["grid-position"] - if isinstance(lay, QtGui.QFormLayout): + if isinstance(lay, QtWidgets.QFormLayout): lay.setWidget(gp[0], self._form_layout_role(gp), widget) else: lay.addWidget(widget, *gp) topwidget = self.stack.topwidget - if isinstance(topwidget, QtGui.QToolBox): + if isinstance(topwidget, QtWidgets.QToolBox): icon = self.wprops.getAttribute(elem, "icon") if icon is not None: topwidget.addItem(widget, icon, self.wprops.getAttribute(elem, "label")) @@ -248,7 +250,7 @@ class UIParser(object): if tooltip is not None: topwidget.setItemToolTip(topwidget.indexOf(widget), tooltip) - elif isinstance(topwidget, QtGui.QTabWidget): + elif isinstance(topwidget, QtWidgets.QTabWidget): icon = self.wprops.getAttribute(elem, "icon") if icon is not None: topwidget.addTab(widget, icon, self.wprops.getAttribute(elem, "title")) @@ -259,19 +261,19 @@ class UIParser(object): if tooltip is not None: topwidget.setTabToolTip(topwidget.indexOf(widget), tooltip) - elif isinstance(topwidget, QtGui.QWizard): + elif isinstance(topwidget, QtWidgets.QWizard): topwidget.addPage(widget) - elif isinstance(topwidget, QtGui.QStackedWidget): + elif isinstance(topwidget, QtWidgets.QStackedWidget): topwidget.addWidget(widget) - elif isinstance(topwidget, (QtGui.QDockWidget, QtGui.QScrollArea)): + elif isinstance(topwidget, (QtWidgets.QDockWidget, QtWidgets.QScrollArea)): topwidget.setWidget(widget) - elif isinstance(topwidget, QtGui.QMainWindow): - if type(widget) == QtGui.QWidget: + elif isinstance(topwidget, QtWidgets.QMainWindow): + if type(widget) == QtWidgets.QWidget: topwidget.setCentralWidget(widget) - elif isinstance(widget, QtGui.QToolBar): + elif isinstance(widget, QtWidgets.QToolBar): tbArea = self.wprops.getAttribute(elem, "toolBarArea") if tbArea is None: @@ -284,11 +286,11 @@ class UIParser(object): if tbBreak: topwidget.insertToolBarBreak(widget) - elif isinstance(widget, QtGui.QMenuBar): + elif isinstance(widget, QtWidgets.QMenuBar): topwidget.setMenuBar(widget) - elif isinstance(widget, QtGui.QStatusBar): + elif isinstance(widget, QtWidgets.QStatusBar): topwidget.setStatusBar(widget) - elif isinstance(widget, QtGui.QDockWidget): + elif isinstance(widget, QtWidgets.QDockWidget): dwArea = self.wprops.getAttribute(elem, "dockWidgetArea") topwidget.addDockWidget(QtCore.Qt.DockWidgetArea(dwArea), widget) @@ -332,9 +334,9 @@ class UIParser(object): size_args = (int(width), int(height)) sizeType = self.wprops.getProperty(elem, "sizeType", - QtGui.QSizePolicy.Expanding) + QtWidgets.QSizePolicy.Expanding) - policy = (QtGui.QSizePolicy.Minimum, sizeType) + policy = (QtWidgets.QSizePolicy.Minimum, sizeType) if self.wprops.getProperty(elem, "orientation") == QtCore.Qt.Horizontal: policy = policy[1], policy[0] @@ -347,7 +349,7 @@ class UIParser(object): lay = self.stack.peek() gp = elem.attrib["grid-position"] - if isinstance(lay, QtGui.QFormLayout): + if isinstance(lay, QtWidgets.QFormLayout): lay.setItem(gp[0], self._form_layout_role(gp), spacer) else: lay.addItem(spacer, *gp) @@ -429,13 +431,13 @@ class UIParser(object): top_layout = self.stack.peek() gp = elem.attrib["grid-position"] - if isinstance(top_layout, QtGui.QFormLayout): + if isinstance(top_layout, QtWidgets.QFormLayout): top_layout.setLayout(gp[0], self._form_layout_role(gp), layout) else: top_layout.addLayout(layout, *gp) def configureLayout(self, elem, layout): - if isinstance(layout, QtGui.QGridLayout): + if isinstance(layout, QtWidgets.QGridLayout): self.setArray(elem, 'columnminimumwidth', layout.setColumnMinimumWidth) self.setArray(elem, 'rowminimumheight', @@ -443,7 +445,7 @@ class UIParser(object): self.setArray(elem, 'columnstretch', layout.setColumnStretch) self.setArray(elem, 'rowstretch', layout.setRowStretch) - elif isinstance(layout, QtGui.QBoxLayout): + elif isinstance(layout, QtWidgets.QBoxLayout): self.setArray(elem, 'stretch', layout.setStretch) def setArray(self, elem, name, setter): @@ -461,7 +463,7 @@ class UIParser(object): else: w = self.stack.topwidget - if isinstance(w, QtGui.QComboBox): + if isinstance(w, QtWidgets.QComboBox): text = self.wprops.getProperty(elem, "text") icon = self.wprops.getProperty(elem, "icon") @@ -472,7 +474,7 @@ class UIParser(object): w.setItemText(self.item_nr, text) - elif isinstance(w, QtGui.QListWidget): + elif isinstance(w, QtWidgets.QListWidget): text = self.wprops.getProperty(elem, "text") icon = self.wprops.getProperty(elem, "icon") flags = self.wprops.getProperty(elem, "flags") @@ -510,7 +512,7 @@ class UIParser(object): if foreground: item.setForeground(foreground) - elif isinstance(w, QtGui.QTreeWidget): + elif isinstance(w, QtWidgets.QTreeWidget): if self.itemstack: parent, _ = self.itemstack[-1] _, nr_in_root = self.itemstack[0] @@ -557,7 +559,7 @@ class UIParser(object): self.traverseWidgetTree(elem) _, self.item_nr = self.itemstack.pop() - elif isinstance(w, QtGui.QTableWidget): + elif isinstance(w, QtWidgets.QTableWidget): text = self.wprops.getProperty(elem, "text") icon = self.wprops.getProperty(elem, "icon") flags = self.wprops.getProperty(elem, "flags") @@ -606,7 +608,7 @@ class UIParser(object): def addHeader(self, elem): w = self.stack.topwidget - if isinstance(w, QtGui.QTreeWidget): + if isinstance(w, QtWidgets.QTreeWidget): text = self.wprops.getProperty(elem, "text") icon = self.wprops.getProperty(elem, "icon") @@ -618,7 +620,7 @@ class UIParser(object): self.column_counter += 1 - elif isinstance(w, QtGui.QTableWidget): + elif isinstance(w, QtWidgets.QTableWidget): if len(elem) == 0: return @@ -720,9 +722,9 @@ class UIParser(object): else: DEBUG("add action %s to %s", action_name, widget.objectName()) action_obj = getattr(self.toplevelWidget, action_name) - if isinstance(action_obj, QtGui.QMenu): + if isinstance(action_obj, QtWidgets.QMenu): widget.addAction(action_obj.menuAction()) - elif not isinstance(action_obj, QtGui.QActionGroup): + elif not isinstance(action_obj, QtWidgets.QActionGroup): widget.addAction(action_obj) def setDelayedProps(self): @@ -873,10 +875,10 @@ class UIParser(object): @staticmethod def _form_layout_role(grid_position): if grid_position[3] > 1: - role = QtGui.QFormLayout.SpanningRole + role = QtWidgets.QFormLayout.SpanningRole elif grid_position[1] == 1: - role = QtGui.QFormLayout.FieldRole + role = QtWidgets.QFormLayout.FieldRole else: - role = QtGui.QFormLayout.LabelRole + role = QtWidgets.QFormLayout.LabelRole return role |