static int qtuiloader_availableWidgets(lua_State *L) { QUiLoader *loader = luaQ_checkqobject<QUiLoader>(L, 1); luaQ_pushqt(L, QVariant(loader->availableWidgets())); return 1; }
//! [0] QWidget *loadCustomWidget(QWidget *parent) { QUiLoader loader; QWidget *myWidget; QStringList availableWidgets = loader.availableWidgets(); if (availableWidgets.contains("AnalogClock")) myWidget = loader.createWidget("AnalogClock", parent); return myWidget; }
const char* PythonWrapper::getWrapperName(QObject* obj) const { #if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) const QMetaObject* meta = obj->metaObject(); while (meta) { const char* typeName = meta->className(); PyTypeObject* exactType = Shiboken::Conversions::getPythonTypeObject(typeName); if (exactType) return typeName; meta = meta->superClass(); } #else QUiLoader ui; QStringList names = ui.availableWidgets(); const QMetaObject* meta = obj->metaObject(); while (meta) { const char* typeName = meta->className(); if (names.indexOf(QLatin1String(typeName)) >= 0) return typeName; meta = meta->superClass(); } #endif return "QObject"; }