PyObject *PythonQtMemberFunction_parameterNames(PythonQtSlotInfo* theInfo) { PythonQtSlotInfo* info = theInfo; int count = 0; while (info) { info = info->nextInfo(); count++; } info = theInfo; PyObject* result = PyTuple_New(count); for (int j = 0;j<count;j++) { QList<QByteArray> names = info->metaMethod()->parameterNames(); PyObject* tuple = PyTuple_New(names.count()); for (int i = 0; i<names.count();i++) { #ifdef PY3K PyTuple_SET_ITEM(tuple, i, PyUnicode_FromString(names.at(i).constData())); #else PyTuple_SET_ITEM(tuple, i, PyString_FromString(names.at(i).constData())); #endif } info = info->nextInfo(); PyTuple_SET_ITEM(result, j, tuple); } return result; }
PyObject *PythonQtMemberFunction_typeName(PythonQtSlotInfo* theInfo) { PythonQtSlotInfo* info = theInfo; int count = 0; while (info) { info = info->nextInfo(); count++; } info = theInfo; PyObject* result = PyTuple_New(count); for (int j = 0;j<count;j++) { QByteArray name = info->metaMethod()->typeName(); PyTuple_SET_ITEM(result, j, PyString_FromString(name.constData())); info = info->nextInfo(); } return result; }