##// END OF EJS Templates
code cleanup and rename of PythonQtWrapper to PythonQtInstanceWrapper and PythonQtMetaObjectWrapper to PythonQtClassWrapper, since these names match much better what these classes wrap, regarding that we are wrapping CPP objects as well...
code cleanup and rename of PythonQtWrapper to PythonQtInstanceWrapper and PythonQtMetaObjectWrapper to PythonQtClassWrapper, since these names match much better what these classes wrap, regarding that we are wrapping CPP objects as well git-svn-id: svn://svn.code.sf.net/p/pythonqt/code/trunk@52 ea8d5007-eb21-0410-b261-ccb3ea6e24a9

File last commit:

r10:21d959e02207
r16:c68e0aff542c
Show More
CPPPyWrapperExample.cpp
45 lines | 2.0 KiB | text/x-c | CppLexer
ezust
- Added CHANGELOG...
r2 #include <PythonQt.h>
#include <QtGui>
ezust
Added an example QFileImportInterface which doesn't work yet!...
r7
ezust
- Added CHANGELOG...
r2 int main (int argc, char* argv[]) {
QApplication app(argc, argv);
PythonQt::init();
PythonQtObjectPtr mainModule = PythonQt::self()->getMainModule();
ezust
Added an example QFileImportInterface which doesn't work yet!...
r7 mainModule.evalScript(QString("import sys\n"));
ezust
- Added CHANGELOG...
r2 Q_ASSERT(!mainModule.isNull());
florianlink
syncing with my current work, updating to 1.2, see changelog...
r10 {
ezust
- Added CHANGELOG...
r2 // evaluate a python file embedded in executable as resource:
mainModule.evalFile(":eyed3tagger.py");
ezust
Documentation updates only. No changes to code....
r6 // create an object, hold onto its reference
ezust
- Added CHANGELOG...
r2 PythonQtObjectPtr tag = mainModule.evalScript("EyeD3Tagger()\n", Py_eval_input);
Q_ASSERT(!tag.isNull());
tag.call("setFileName", QVariantList() << "t.mp3");
QVariant fn = tag.call("fileName", QVariantList());
Q_ASSERT(fn.toString() == QString("t.mp3"));
ezust
Documentation updates only. No changes to code....
r6 // tag goes out of scope, reference count decremented.
ezust
- Added CHANGELOG...
r2 }
florianlink
syncing with my current work, updating to 1.2, see changelog...
r10 {
ezust
Added an example QFileImportInterface which doesn't work yet!...
r7 // Allow the python system path to recognize QFile paths in the sys.path
florianlink
- removed warnings...
r8 PythonQt::self()->setImporter(NULL);
ezust
Added an example QFileImportInterface which doesn't work yet!...
r7 // append the Qt resource root directory to the sys.path
mainModule.evalScript("sys.path.append(':')\n");
mainModule.evalScript("import eyed3tagger\n");
PythonQtObjectPtr tag = mainModule.evalScript("eyed3tagger.EyeD3Tagger()\n", Py_eval_input);
Q_ASSERT(!tag.isNull());
tag.call("setFileName", QVariantList() << "t.mp3");
QVariant fn = tag.call("fileName", QVariantList());
Q_ASSERT(fn.toString() == QString("t.mp3"));
florianlink
syncing with my current work, updating to 1.2, see changelog...
r10 }
ezust
- Added CHANGELOG...
r2 { // alternative using import and loading it as a real module from sys.path
// import sys first
mainModule.evalScript(QString("sys.path.append('%1')\n").arg(QDir::currentPath()));
mainModule.evalScript("import eyed3tagger\n");
PythonQtObjectPtr tag = mainModule.evalScript("eyed3tagger.EyeD3Tagger()\n", Py_eval_input);
Q_ASSERT(!tag.isNull());
tag.call("setFileName", QVariantList() << "t.mp3");
QVariant fn = tag.call("fileName", QVariantList());
Q_ASSERT(fn.toString() == QString("t.mp3"));
}
qDebug() << "finished";
return 0;
}