I&#39;m creating a widget for QtDesigner, using python and pyqt4. In order to create a Qt property I wrote the following code:<br><br>[...]<br>def set_axis(self, axis):<br>&nbsp;&nbsp;&nbsp;&nbsp; print &quot;DEBUG: set_axis&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp; self._axis = axis<br>
def get_axis(self):<br>&nbsp;&nbsp;&nbsp;&nbsp; print &quot;DEBUG: get_axis&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp; return self._axis<br>axisName = pyqtProperty(&quot;QString&quot;, get_axis, set_axis)<br>[...]<br><br>In the Designer, I can create the widget with no problem at all and I can change the property value as well. I get both &quot;DEBUG&quot; prints. I save the form as mydialg.ui.<br>
<br>The problem is on the main program, when I try to load the form. I use uic.LoadUi(&quot;mydialog.ui&quot;) and get the following error:<br><br>Traceback (most recent call last):<br>&nbsp; File &quot;main.py&quot;, line 8, in &lt;module&gt;<br>
&nbsp;&nbsp;&nbsp; window = uic.loadUi(&quot;mydialog.ui&quot;)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/__init__.py&quot;, line 106, in loadUi<br>&nbsp;&nbsp;&nbsp; return loader.DynamicUILoader().loadUi(uifile, baseinstance)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/Loader/loader.py&quot;, line 22, in loadUi<br>
&nbsp;&nbsp;&nbsp; return self.parse(filename)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/uiparser.py&quot;, line 572, in parse<br>&nbsp;&nbsp;&nbsp; actor(elem)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/uiparser.py&quot;, line 431, in createUserInterface<br>
&nbsp;&nbsp;&nbsp; self.traverseWidgetTree(elem)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/uiparser.py&quot;, line 409, in traverseWidgetTree<br>&nbsp;&nbsp;&nbsp; handler(self, child)<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/uiparser.py&quot;, line 155, in createWidget<br>
&nbsp;&nbsp;&nbsp; self.stack.push(self.setupObject(widgetClass(elem), parent, elem))<br>&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/uiparser.py&quot;, line 131, in setupObject<br>&nbsp;&nbsp;&nbsp; self.wprops.setProperties(obj, branch)<br>
&nbsp; File &quot;/usr/lib/python2.5/site-packages/PyQt4/uic/properties.py&quot;, line 293, in setProperties<br>&nbsp;&nbsp;&nbsp; propname[1:]))(self.convert(prop, widget))<br>AttributeError: setAxisName<br><br>It seems that the loading form code is expecting the &quot;set&quot; method named in a different way.<br>
So I replaced my code with this one:<br>[...]<br>
def setAxisName(self, axis):<br>
&nbsp;&nbsp;&nbsp;&nbsp; print &quot;DEBUG: set_axis&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; self._axis = axis<br>
def get_axis(self):<br>
&nbsp;&nbsp;&nbsp;&nbsp; print &quot;DEBUG: get_axis&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; return self._axis<br>
axisName = pyqtProperty(&quot;QString&quot;, get_axis, setAxisName)<br>
[...]<br>
<br>And now it works perfectly (both on Designer and my program).<br>Is this a bug?<br><br><br clear="all">Emiliano<br><br>-- <br>life&#39;s better without braces - Bruce Eckel<br>