[PyKDE] SIP...Need help

computernet2000 at mail.bg computernet2000 at mail.bg
Sat Jan 14 23:04:10 GMT 2006

Hi all !

We try to create binding for Ultimate++ lib
have most of widgets and non-gui classes (~70%)
without Callback system :(

We using SIP to wrap the code.

this is a simple code ...

Callback TheBack::THE_Callback(void *args)
           typedef TheBack CLASSNAME;
           PyObject *p = (PyObject *)args;
           return callback1(this, &CLASSNAME::py_call,(void

void TheBack::py_call(void *data)
		    PyObject *p = (PyObject *)data;

		    PyObject *func = PyTuple_GetItem(p, 0);
		    PyObject *args = PyTuple_GetItem(p, 1);
		    PyObject *kw = PyTuple_GetItem(p, 2);
		    PyObject_Call(func, args, kw);

"return THISBACK1(py_call, (void *)p)"
This line is part from the Callback system,
take a pointer-function and return Callback object.

In Python i want wrap something like this  :

def test(*args, **kw):
	print "bla-bla"
module.THE_Callback(test,"some args...")

After that, call the Python function and pass her into
but this not work.I dont know how to implement this in SIP.
In the moment "*args" from "module.THE_Callback" is not a
valid python-function argument

Question is :
How to wrap this method "THE_Callback(void *args)" in SIP ?


Някои книги в СЛОН.БГ:
· Хари Потър и нечистокръвния принц, Роулинг
· Изкуството на света на Диска, Пратчет
· Орки, Стен Никълс

More information about the PyQt mailing list