<div dir="ltr"><div>As far as I know there is no straight way to access the QtDesigner propertyEditor, so I've been using some "dirty" workaround to access the propertyChanged signal for custom properties.<br></div><div>When the custom widget is initialized, I set the formEditor as attribute of the plugin class:</div><div><br></div><div><div>    def initialize(self, formEditor):</div><div>        if self.initialized:</div><div>            return</div><div>        self.formEditor = formEditor</div><div><br></div><div>Then, in the createWidget() method I can access the propertyEditor and its propertyChanged signal:</div><div><br></div><div><div>    def createWidget(self, parent):</div><div>        widget = TestWidget(parent)</div><div>        if self.formEditor.propertyEditor():<br></div><div>            self.formEditor.propertyEditor().propertyChanged.connect(self.propertyChanged)</div></div><div><br></div><div>If I use "common" property types, such as QColor, QAlignment, or any kind of QFlag, everything works fine. Unfortunally, it seems that QEnums have issues with the python conversion, resulting in a "TypeError: unable to convert a C++ 'QVariant' instance to a Python object" in both PyQt4 and PyQt5. While Qt4 just seems to ignore the error, this results in a crash of Designer under Qt5.</div><div>As I can understand, there is no way to avoid this behavior, since the signal cannot be overloaded, and I sincerely doubt that this issue depends on the way I access the formEditor/propertyEditor.</div><div><br></div><div>Tested under PyQt 4.12 and 5.7.1.</div><div><br>Thanks,</div><div>Maurizio</div><div><br></div>-- <br><div class="gmail-m_-5847619322246459414gmail_signature">È difficile avere una convinzione precisa quando si parla delle ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi<br><a href="http://www.jidesk.net" target="_blank">http://www.jidesk.net</a></div>
</div></div>