Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
PySide Shiboken Tutorial: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
= Simple Shiboken Binding Tutorial = | = Simple Shiboken Binding Tutorial = | ||
This is sample demonstration how to generate simple bindings with shiboken python binding generator. This tutorial was written by Roman Lacko in a recent | This is sample demonstration how to generate simple bindings with shiboken python binding generator. This tutorial was written by Roman Lacko in a recent "mailing list":http://lists.qt.io/pipermail/pyside/2013-January/001009.html. | ||
* ''FooLib'' project contains the library for which we want to generate the bindings | * ''FooLib'' project contains the library for which we want to generate the bindings | ||
Line 10: | Line 10: | ||
== Software used: == | == Software used: == | ||
* | * "Qt 4.8.4 MSVC 2010 64bit":http://releases.qt.io/qt4/source/qt-win-opensource-4.8.4-vs2010.exe | ||
** Please note that by default Python 2.7 is built with msvc2008 and Python 3.3 with msvc2010. So in general you should use MSVC2008 to compile, however others have successfully completed this tutorial using MSVC2010. | ** Please note that by default Python 2.7 is built with msvc2008 and Python 3.3 with msvc2010. So in general you should use MSVC2008 to compile, however others have successfully completed this tutorial using MSVC2010. | ||
* | * "Python 2.7 64bit":http://python.org/ftp/python/2.7.3/python-2.7.3.amd64.msi | ||
* | * "PySide 1.1.2 for Python 2.7 64bit":http://releases.qt.io/pyside/PySide-1.1.2.win-amd64-py2.7.exe | ||
* | * "BindingTest.zip":https://docs.google.com/file/d/0B0aOk3P0ndoLbkhwbWZncTlUM00/edit | ||
== Notes: == | == Notes: == | ||
Line 20: | Line 20: | ||
* Update the paths to python libs and includes in ''FooLibBinding\FooLibBinding.pro''. In this tutorial, it's assumed that python is installed in C:27_64. | * Update the paths to python libs and includes in ''FooLibBinding\FooLibBinding.pro''. In this tutorial, it's assumed that python is installed in C:27_64. | ||
<code> | <code> | ||
INCLUDEPATH ''= ../pyside/include/PySide ../pyside/include/PySide/QtCore ../pyside/include/shiboken c:/Python27_64/include ../FooLib | |||
LIBS''= c:/Python27_64/libs/python27.lib ../pyside/shiboken-python2.7.lib ../FooLib-build-Desktop-Release/release/FooLib.lib | |||
</code> | |||
* Also update the path where you have installed Qt on your system in the files below | * Also update the path where you have installed Qt on your system in the files below | ||
** Replace this | ** Replace this "c:–4.8.4-msvc2010-x64" with your path | ||
<code> | <code> | ||
pyside\include\PySide\pyside_global.h | |||
FooLib\generate_binding.bat | |||
</code> | |||
* Note that if you decide to experiment with using mingw, you will need to change the .lib extension to .a | * Note that if you decide to experiment with using mingw, you will need to change the .lib extension to .a |
Revision as of 11:02, 25 February 2015
Simple Shiboken Binding Tutorial
This is sample demonstration how to generate simple bindings with shiboken python binding generator. This tutorial was written by Roman Lacko in a recent "mailing list":http://lists.qt.io/pipermail/pyside/2013-January/001009.html.
- FooLib project contains the library for which we want to generate the bindings
- FooLibBinding project contains the generated binding sources
Software used:
- "Qt 4.8.4 MSVC 2010 64bit":http://releases.qt.io/qt4/source/qt-win-opensource-4.8.4-vs2010.exe
- Please note that by default Python 2.7 is built with msvc2008 and Python 3.3 with msvc2010. So in general you should use MSVC2008 to compile, however others have successfully completed this tutorial using MSVC2010.
- "Python 2.7 64bit":http://python.org/ftp/python/2.7.3/python-2.7.3.amd64.msi
- "PySide 1.1.2 for Python 2.7 64bit":http://releases.qt.io/pyside/PySide-1.1.2.win-amd64-py2.7.exe
- "BindingTest.zip":https://docs.google.com/file/d/0B0aOk3P0ndoLbkhwbWZncTlUM00/edit
Notes:
- Update the paths to python libs and includes in FooLibBinding\FooLibBinding.pro. In this tutorial, it's assumed that python is installed in C:27_64.
INCLUDEPATH ''= ../pyside/include/PySide ../pyside/include/PySide/QtCore ../pyside/include/shiboken c:/Python27_64/include ../FooLib
LIBS''= c:/Python27_64/libs/python27.lib ../pyside/shiboken-python2.7.lib ../FooLib-build-Desktop-Release/release/FooLib.lib
- Also update the path where you have installed Qt on your system in the files below
- Replace this "c:–4.8.4-msvc2010-x64" with your path
pyside\include\PySide\pyside_global.h
FooLib\generate_binding.bat
- Note that if you decide to experiment with using mingw, you will need to change the .lib extension to .a
To generate and test the bindings do the following:
- Install PySide
- Copy content of C:27\Lib\site-packages\PySide to BindingTest\PySide folder
- Compile FooLib project
- Run FooLib\generate_binding.bat
- Compile FooLibBinding project
- Run FooLibBinding\make_package.bat