Hi
On Tue, May 6, 2014 at 9:01 AM, Tim Sutton <li...@linfiniti.com> wrote: > Hi > > > On Tue, May 6, 2014 at 8:54 AM, Nathan Woodrow <madman...@gmail.com>wrote: > >> I normally do it this way: >> >> base, widget = uic.loadUiType('myui.ui') >> >> class MyWidget(base, widget): >> def __init__(self, parent=None) >> super(MyWidget, self).__init__(parent) >> > > According to the docs[1] you get the concrete class first, then the base > class in the returned tuple: > > PyQt4.uic.loadUiType(*uifile*[, *from_imports=False*[, > *resource_suffix='_rc'*]])<http://pyqt.sourceforge.net/Docs/PyQt4/designer.html#PyQt4.uic.loadUiType> > > Load a Qt Designer .ui file and return a tuple of the generated *form > class* and the *Qt base class*. These can then be used to create any > number of instances of the user interface without having to parse the .ui file > more than once. > > [1] http://pyqt.sourceforge.net/Docs/PyQt4/designer.html#the-uic-module > > Regards > > Ah did you mean that you save a line of code by using super? Regards Tim > Tim > > >> - Nathan >> >> >> On Tue, May 6, 2014 at 4:52 PM, Tim Sutton <li...@linfiniti.com> wrote: >> >>> Hi >>> >>> >>> On Sat, Apr 26, 2014 at 2:45 PM, Anita Graser <anitagra...@gmx.at>wrote: >>> >>>> Hi, >>>> >>>> I'm wondering if there is an advantage in using pyuic to manually >>>> compile .ui files instead of just using uic.loadUi() in the plugin >>>> directly, e.g. >>>> >>>> from PyQt4 import uic >>>> self.dock = uic.loadUi( os.path.join( path, "dockwidget2.ui" ) ) >>>> >>>> >>> As Martin mentioned, getting the class type back is nicer. I tested this >>> and it works nicely: >>> >>> >>> ---------------- >>> >>> import os >>> >>> from PyQt4 import QtCore, QtGui, uic >>> >>> BASE_CLASS = uic.loadUiType(os.path.join( >>> os.path.dirname(__file__), 'results_dialog_base.ui'))[0] >>> >>> >>> class ResultDialog(QtGui.QDialog, BASE_CLASS): >>> """Dialog for showing the results of the plugin creation process.""" >>> def __init__(self): >>> QtGui.QDialog.__init__(self) >>> # Set up the user interface from Designer. >>> self.setupUi(self) >>> >>> -------------- >>> >>> The advantage is that you can use Qt multi-inheritance which means less >>> and cleaner code. More details in the Qt section at [1]. >>> >>> [1] http://test.inasafe.org/en/developer-docs/coding_standards.html >>> >>> Regards >>> >>> Tim >>> >>> >>> >>> >>>> Thanks for any insights! >>>> >>>> Best wishes, >>>> Anita >>>> >>>> >>>> >>>> -- >>>> anitagraser.com >>>> _______________________________________________ >>>> Qgis-developer mailing list >>>> Qgis-developer@lists.osgeo.org >>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer >>>> >>> >>> >>> >>> -- >>> Tim Sutton - QGIS Project Steering Committee Member >>> ============================================== >>> Please do not email me off-list with technical >>> support questions. Using the lists will gain >>> more exposure for your issues and the knowledge >>> surrounding your issue will be shared with all. >>> >>> Irc: timlinux on #qgis at freenode.net >>> ============================================== >>> >>> _______________________________________________ >>> Qgis-developer mailing list >>> Qgis-developer@lists.osgeo.org >>> http://lists.osgeo.org/mailman/listinfo/qgis-developer >>> >> >> > > > -- > Tim Sutton - QGIS Project Steering Committee Member > ============================================== > Please do not email me off-list with technical > support questions. Using the lists will gain > more exposure for your issues and the knowledge > surrounding your issue will be shared with all. > > Irc: timlinux on #qgis at freenode.net > ============================================== > -- Tim Sutton - QGIS Project Steering Committee Member ============================================== Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Irc: timlinux on #qgis at freenode.net ==============================================
_______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer