PySide Binding Generation Tutorial: Module 1 Creating the foo library

From Qt Wiki
Revision as of 05:06, 5 June 2016 by AutoSpider (talk | contribs) (Change category "LanguageBindings::PySide::Shiboken::PySide Binding Generation Tutorial" -> "PySide")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


English French

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>

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