PySide Binding Generation Tutorial: Module 1 Creating the foo library: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:LanguageBindings::PySide::Shiboken::PySide Binding Generation Tutorial]] | [[Category:LanguageBindings::PySide::Shiboken::PySide Binding Generation Tutorial]] | ||
[toc align_right="yes" depth="3"] | |||
'''English''' | '''English''' "French":http://qt-devnet.developpez.com/tutoriels/python/pyside/binding-shiboken/#LIII | ||
* '''Note:''' this article is a member of the multipart | * '''Note:''' this article is a member of the multipart "PySide Binding Generation Tutorial":http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Shiboken::PySide_Binding_Generation_Tutorial | ||
= Creating the foo library = | = Creating the foo library = | ||
Line 11: | Line 12: | ||
== The Source Code == | == The Source Code == | ||
There is only one class in this '''foo''' library plus a | There is only one class in this '''foo''' library plus a <code>.pro</code> file which means that the build system used will be '''qmake''' based. | ||
Save the files below in a directory called '''libfoo'''. Be aware that this directory will be referenced by the binding Makefile presented in a later section of this tutorial. If you want to use other names or paths, remember to change the binding Makefile accordingly. Blind copy’n’paste shortens your life. | Save the files below in a directory called '''libfoo'''. Be aware that this directory will be referenced by the binding Makefile presented in a later section of this tutorial. If you want to use other names or paths, remember to change the binding Makefile accordingly. Blind copy’n’paste shortens your life. | ||
Line 17: | Line 18: | ||
=== libfoo/foo.h === | === libfoo/foo.h === | ||
<code> | <code> | ||
#ifndef FOO_H | |||
#define FOO_H | |||
#include | #include <QtCore/QtCore> | ||
class Math : public QObject | class Math : public QObject | ||
{ | |||
Q_OBJECT | |||
public: | |||
Math() {} | |||
virtual ~Math() {} | |||
int squared(int x); | |||
}; | |||
#endif // FOO_H | |||
</code> | |||
=== libfoo/foo.cpp === | === libfoo/foo.cpp === | ||
<code> | <code> | ||
#include "foo.h" | |||
int Math::squared(int x) | int Math::squared(int x) | ||
{ | |||
return x * x; | |||
} | |||
</code> | |||
=== libfoo/foo.pro === | === libfoo/foo.pro === | ||
<code> | <code> | ||
TEMPLATE = lib | |||
TARGET = foo | |||
DEPENDPATH ''= . | |||
INCLUDEPATH''= . | |||
HEADERS ''= foo.h | |||
SOURCES''= foo.cpp | |||
</code> | |||
To build the lib: | To build the lib: | ||
<code> | |||
$ cd libfoo | |||
$ qmake | |||
$ make | |||
</code> |
Revision as of 10:03, 25 February 2015
[toc align_right="yes" depth="3"]
English "French":http://qt-devnet.developpez.com/tutoriels/python/pyside/binding-shiboken/#LIII
- Note: this article is a member of the multipart "PySide Binding Generation Tutorial":http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Shiboken::PySide_Binding_Generation_Tutorial
Creating the foo library
This section presents the code and the build instructions for a very simple Qt-based library. The library will be used as the subject for this tutorial.
The Source Code
There is only one class in this foo library plus a
.pro
file which means that the build system used will be qmake based.
Save the files below in a directory called libfoo. Be aware that this directory will be referenced by the binding Makefile presented in a later section of this tutorial. If you want to use other names or paths, remember to change the binding Makefile accordingly. Blind copy’n’paste shortens your life.
libfoo/foo.h
#ifndef FOO_H
#define FOO_H
#include <QtCore/QtCore>
class Math : public QObject
{
Q_OBJECT
public:
Math() {}
virtual ~Math() {}
int squared(int x);
};
#endif // FOO_H
libfoo/foo.cpp
#include "foo.h"
int Math::squared(int x)
{
return x * x;
}
libfoo/foo.pro
TEMPLATE = lib
TARGET = foo
DEPENDPATH ''= .
INCLUDEPATH''= .
HEADERS ''= foo.h
SOURCES''= foo.cpp
To build the lib:
$ cd libfoo
$ qmake
$ make