Have you seen the discussion at http://www.riverbankcomputing.co.uk/static/Docs/dip/ui_tutorial.html#creating-views-programmatically , or http://www.riverbankcomputing.co.uk/static/Docs/dip/ui_tutorial.html#creating-views-with-qt-designer ?
On Fri, Jul 8, 2011 at 1:19 PM, Lic. José M. Rodriguez Bacallao <[email protected]> wrote: > but the view will need to be pure pyqt, not dip? > > On Fri, Jul 8, 2011 at 1:13 PM, Darren Dale <[email protected]> wrote: >> Have you considered trying to decouple your model and view, as >> described throughout the documentation? >> >> On Fri, Jul 8, 2011 at 1:04 PM, Lic. José M. Rodriguez Bacallao >> <[email protected]> wrote: >>> yes, I know, I read that in the docs, but, how to do something similar >>> to what I want to achieve? >>> >>> On Fri, Jul 8, 2011 at 12:20 PM, Lic. José M. Rodriguez Bacallao >>> <[email protected]> wrote: >>>> I tried that before and still getting the same error. I thinks is >>>> something like the C++ part of the widget is not created at the time >>>> when the properties methods are called to set my initial values as >>>> this happen before __init__ is called. >>>> >>>> On Fri, Jul 8, 2011 at 12:05 PM, Demetrius Cassidy <[email protected]> >>>> wrote: >>>>> You need to call QToolButton's __init__() method. >>>>> >>>>> class Indicator(QtGui.QToolButton, Model): >>>>> def __init__(self) >>>>> super(Indicator, self).__init__() >>>>> On Fri, Jul 8, 2011 at 1:49 PM, Lic. José M. Rodriguez Bacallao >>>>> <[email protected]> wrote: >>>>>> >>>>>> hi folks, I am creating a composite widget with PyQt4 and Dip, the >>>>>> problem I have is that when I use dip properties for setting PyQt4 >>>>>> properties in the constructor I am getting an error saying that the >>>>>> underlying C++ object has been delete, I think this is due to the way >>>>>> dip works because it call properties methods before the actual Qt4 >>>>>> widget as been created when I pass an initial value in the >>>>>> constructor. When I construct the object with properties initial >>>>>> values and the use the properties accesors to set the value, this >>>>>> doens't happen. So, my question is, which is the right way to >>>>>> construct a custom composite widget with dip? >>>>>> >>>>>> # dip imports >>>>>> from dip.model import Model, Instance, Str >>>>>> >>>>>> # PyQt4 imports >>>>>> from PyQt4 import QtCore, QtGui >>>>>> >>>>>> class Indicator(QtGui.QToolButton, Model): >>>>>> >>>>>> # the indicator identifier, it must be unique for all indicators >>>>>> id = Str() >>>>>> >>>>>> # the indicator text, this text will be shown >>>>>> # beside the icon if one is defined >>>>>> text = Str() >>>>>> >>>>>> # the indicator tooltip >>>>>> tooltip = Str() >>>>>> >>>>>> # the indicator icon >>>>>> icon = Instance(QtGui.QIcon) >>>>>> >>>>>> @id.getter >>>>>> def id(self): >>>>>> print 'getting value' >>>>>> return self.objectName() >>>>>> >>>>>> @id.setter >>>>>> def id(self, id): >>>>>> print 'setting value' >>>>>> self.setObjectName(id) >>>>>> >>>>>> @text.getter >>>>>> def text(self): >>>>>> return self.text() >>>>>> >>>>>> @text.setter >>>>>> def text(self, text): >>>>>> self.setText(text) >>>>>> >>>>>> @tooltip.getter >>>>>> def tooltip(self): >>>>>> return self.toolTip() >>>>>> >>>>>> @tooltip.setter >>>>>> def tooltip(self, tooltip): >>>>>> self.setToolTip(tooltip) >>>>>> >>>>>> @icon.getter >>>>>> def icon(self): >>>>>> return self.icon() >>>>>> >>>>>> @icon.setter >>>>>> def icon(self, icon): >>>>>> self.icon = icon >>>>>> >>>>>> def perform(self): >>>>>> raise NotImplementedError >>>>>> >>>>>> if __name__ == '__main__': >>>>>> app = QtGui.QApplication([]) >>>>>> >>>>>> i = Indicator(text='xxx') >>>>>> i.show() >>>>>> >>>>>> app.exec_() >>>>>> >>>>>> -- >>>>>> Lic. José M. Rodriguez Bacallao >>>>>> Centro de Biofisica Medica >>>>>> ----------------------------------------------------------------- >>>>>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo >>>>>> mismo. >>>>>> >>>>>> Recuerda: El arca de Noe fue construida por aficionados, el titanic >>>>>> por profesionales >>>>>> ----------------------------------------------------------------- >>>>>> _______________________________________________ >>>>>> PyQt mailing list [email protected] >>>>>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt >>>>> >>>> >>>> >>>> >>>> -- >>>> Lic. José M. Rodriguez Bacallao >>>> Centro de Biofisica Medica >>>> ----------------------------------------------------------------- >>>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo >>>> mismo. >>>> >>>> Recuerda: El arca de Noe fue construida por aficionados, el titanic >>>> por profesionales >>>> ----------------------------------------------------------------- >>>> >>> >>> >>> >>> -- >>> Lic. José M. Rodriguez Bacallao >>> Centro de Biofisica Medica >>> ----------------------------------------------------------------- >>> Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo >>> mismo. >>> >>> Recuerda: El arca de Noe fue construida por aficionados, el titanic >>> por profesionales >>> ----------------------------------------------------------------- >>> _______________________________________________ >>> PyQt mailing list [email protected] >>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt >> > > > > -- > Lic. José M. Rodriguez Bacallao > Centro de Biofisica Medica > ----------------------------------------------------------------- > Todos somos muy ignorantes, lo que ocurre es que no todos ignoramos lo mismo. > > Recuerda: El arca de Noe fue construida por aficionados, el titanic > por profesionales > ----------------------------------------------------------------- > _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
