Very nice,

thanks

On Mon, Jul 11, 2011 at 5:57 PM, kungfuelmosan <[email protected]> wrote:
> Ignore me, turns out we had an issue with the environment we were
> building PySide in. So after a rebuild, the new Shiboken generated
> bindings are working a treat so far, and with far less code too :)
> Thanks again for all the help guys!
>
> Cheers,
> D
>
> On Jul 2, 1:59 pm, kungfuelmosan <[email protected]> wrote:
>> Ok so I've stopped trying to do the weird and wacky custom hand
>> written Python C Extension and gone for the pure Shiboken generated
>> module, as you guys suggested, which is much much nicer indeed.
>> However I'm still seeing the same crash, although I think I might have
>> narrowed it down further. It looks like it's failing when trying to
>> produce a python wrapper for a C++ QWidget which is actually a C++
>> subclass of QWidget i.e: My module works fine and produces the correct
>> results for pointers to 'raw' QWidget / QMenu / QCheckBox etc
>> instances.
>>
>> So, I have a small repeatable test case, however its currently
>> dependent on Maya 2012. I don't suppose you guys would have access to
>> a copy to test my example on?
>>
>> Thanks a million again for the help!
>>
>> Cheers,
>> Daniel
>>
>> On Jun 21, 10:37 am, kungfuelmosan <[email protected]> wrote:
>>
>>
>>
>>
>>
>>
>>
>> > Hey Renato,
>>
>> > Derived class? I'm not creating any new python types or anything I'm
>> > literally just trying to take a C++ pointer to an existing QWidget and
>> > return a PySide PyObject wrapper for that widget, to a python
>> > instance :
>>
>> > PyObject * py_findControl_(PyObject *self, PyObject *args) {
>>
>> >     // Parse Args
>> >     char *controlName;
>> >     PyObject *py_ancestor = NULL;
>> >     if (!PyArg_ParseTuple(args, "s|O", &controlName, &py_ancestor))
>> >         return NULL;
>>
>> >     QWidget *ancestor = NULL;
>> >     if (py_ancestor != NULL)
>> >         ancestor = Shiboken::Converter<QWidget*>::toCpp(py_ancestor);
>>
>> >     // Find the named QWidget in maya
>> >     QWidget *control = MQtUtil::findControl(MString(controlName),
>> > ancestor);
>>
>> >     // Get PySide wrapper
>> >     PyObject *wrapper =
>> > Shiboken::Converter<QWidget*>::toPython(control);
>>
>> >     return wrapper;
>>
>> > }
>>
>> > I'll try and get a small repeatable test case together today.
>>
>> > On Jun 18, 12:37 am, Renato Araujo Oliveira Filho
>>
>> > <[email protected]> wrote:
>> > > Did you check if you are calling the base constructor on your derived 
>> > > class?
>>
>> > > On Thu, Jun 16, 2011 at 9:02 PM, kungfuelmosan <[email protected]> 
>> > > wrote:
>> > > > Yep, It should already be initialized by Maya on startup.
>>
>> > > > On Jun 17, 8:47 am, Hugo Parente Lima <[email protected]> wrote:
>> > > >> On Thursday 16 June 2011 17:31:13 kungfuelmosan wrote:
>>
>> > > >> > Hey Hugo,
>>
>> > > >> > Yep I'm calling :
>>
>> > > >> >     if (!Shiboken::importModule("PySide.QtCore",
>> > > >> > &SbkPySide_QtCoreTypes)) {
>> > > >> >         PyErr_SetString(PyExc_ImportError,"could not import
>> > > >> > PySide.QtCore");
>> > > >> >         return;
>> > > >> >     }
>>
>> > > >> >     if (!Shiboken::importModule("PySide.QtGui",
>> > > >> > &SbkPySide_QtGuiTypes)) {
>> > > >> >         PyErr_SetString(PyExc_ImportError,"could not import
>> > > >> > PySide.QtGui");
>> > > >> >         return;
>> > > >> >     }
>>
>> > > >> > In my extension modules init function and I have these globally
>> > > >> > defined in my .cc file aswell :
>>
>> > > >> > #include <pyside_qtgui_python.h>
>> > > >> > PyTypeObject** SbkPySide_QtCoreTypes;
>> > > >> > PyTypeObject** SbkPySide_QtGuiTypes;
>>
>> > > >> > Does that look right to you?
>>
>> > > >> Yes it does, nothing wrong. Did you call Py_Initialize() before all 
>> > > >> this? or
>> > > >> the python interpreter was already initialized by someone?
>>
>> > > >> Regards.
>>
>> > > >>  signature.asc
>> > > >> < 1KViewDownload
>>
>> > > >> _______________________________________________
>> > > >> PySide mailing list
>> > > >> [email protected]http://lists.pyside.org/listinfo/pyside
>> > > > _______________________________________________
>> > > > PySide mailing list
>> > > > [email protected]
>> > > >http://lists.pyside.org/listinfo/pyside
>>
>> > > --
>> > > Renato Araujo Oliveira Filho
>> > > Instituto Nokia de Tecnologia - INdT
>> > > _______________________________________________
>> > > PySide mailing list
>> > > [email protected]http://lists.pyside.org/listinfo/pyside
>>
>> > _______________________________________________
>> > PySide mailing list
>> > [email protected]http://lists.pyside.org/listinfo/pyside
>>
>> _______________________________________________
>> PySide mailing list
>> [email protected]http://lists.pyside.org/listinfo/pyside
> _______________________________________________
> PySide mailing list
> [email protected]
> http://lists.pyside.org/listinfo/pyside
>



-- 
Renato Araujo Oliveira Filho
Instituto Nokia de Tecnologia - INdT
_______________________________________________
PySide mailing list
[email protected]
http://lists.pyside.org/listinfo/pyside

Reply via email to