PySide Binding Generation Tutorial: Module 1 Creating the foo library: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Convert ExpressionEngine links)
No edit summary
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
 


[[Category:LanguageBindings::PySide::Shiboken::PySide Binding Generation Tutorial]]
[[Category:LanguageBindings::PySide::Shiboken::PySide Binding Generation Tutorial]]
[toc align_right="yes" depth="3"]
 


'''English''' [http://qt-devnet.developpez.com/tutoriels/python/pyside/binding-shiboken/#LIII French]
'''English''' [http://qt-devnet.developpez.com/tutoriels/python/pyside/binding-shiboken/#LIII French]


* '''Note:''' this article is a member of the multipart [http://developer.qt.nokia.com/wiki/Category:LanguageBindings::PySide::Shiboken::PySide_Binding_Generation_Tutorial PySide Binding Generation Tutorial]
* '''Note:''' this article is a member of the multipart [https://wiki.qt.io/PySide_Binding_Generation_Tutorial PySide Binding Generation Tutorial]


= Creating the foo library =
= Creating the foo library =
Line 53: Line 53:
TEMPLATE = lib
TEMPLATE = lib
TARGET = foo
TARGET = foo
DEPENDPATH ''= .
DEPENDPATH += .
INCLUDEPATH''= .
INCLUDEPATH+= .
HEADERS ''= foo.h
HEADERS += foo.h
SOURCES''= foo.cpp
SOURCES+= foo.cpp
</code>
</code>



Revision as of 11:28, 13 April 2015


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/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