Hello PySide users,

Working on a Qt/C++ based project : http://camitk.imag.fr, I'm looking for a way to bind this framework with Python, using PySide.
I've read the documentation and successfully used Shiboken to wrap the foo library provided in the tutorials.

Now, I've replaced the C++ foo-library of the PySide tutorials and when generating the wrapping, Shiboken outputs the following error :

Could not find a minimal constructor for type 'Array'. This will result in a compilation error.

The configuration of the library is made using CMake, copying the structure of the foo-library PySide tutorials.
Shiboken is called with the following arguments
  • the typesystem PATH
  • the include directories to look for the header files
  • pyside_global.h file (copied from /usr/include/PySide)
  • global.h (including all the C++ header files of the library to wrap)
  • the input system file : typesystem_camitk.xml with the following content :


<?xml version="1.0"?>
<typesystem package="camitk_package">
    <!--     Basic system types, which I know are needed -->
    <load-typesystem name="typesystem_core.xml" generate="no" />
    <load-typesystem name="typesystem_gui.xml" generate="no" />       
   
    <!--     Optional system types, that might be necessary for more complex projects -->
    <!--<load-typesystem name="typesystem_core_common.xml" generate="no" />
    <load-typesystem name="typesystem_core_x11.xml" generate="no" />
    <load-typesystem name="typesystem_core_maemo.xml" generate="no" />
    <load-typesystem name="typesystem_gui_common.xml" generate="no" />
    <load-typesystem name="typesystem_gui_simulator.xml" generate="no" />
    <load-typesystem name="typesystem_templates.xml" generate="no" />
    <load-typesystem name="typesystem_declarative.xml" generate="no" />
    <load-typesystem name="typesystem_uitools.xml" generate="no" />
    <load-typesystem name="typesystem_help.xml" generate="no" />
    <load-typesystem name="typesystem_test.xml" generate="no" />
    <load-typesystem name="typesystem_network.xml" generate="no" />
    <load-typesystem name="typesystem_phonon.xml" generate="no" />
    <load-typesystem name="typesystem_script.xml" generate="no" />
    <load-typesystem name="typesystem_scripttools.xml" generate="no" />
    <load-typesystem name="typesystem_xml.xml" generate="no" />
    <load-typesystem name="typesystem_xmlpatterns.xml" generate="no" />
    <load-typesystem name="typesystem_opengl.xml" generate="no" />
    <load-typesystem name="typesystem_uitools.xml" generate="no" />
    <load-typesystem name="typesystem_webkit.xml" generate="no" />
    <load-typesystem name="typesystem_webkit_simulator.xml" generate="no" />-->

    <namespace-type name="camitk" />
    <object-type name="camitk::ActionWidget" />
    <object-type name="camitk::HistoryItem" />
    <object-type name="camitk::RendererWidget" />
    <object-type name="camitk::InteractiveViewer" />
    <object-type name="camitk::Explorer" />
    <object-type name="camitk::PropertyExplorer" />
    <object-type name="camitk::MedicalImageViewer" />
    <object-type name="camitk::Viewer" />
    <object-type name="camitk::ActionViewer" />
    <object-type name="camitk::MeshComponentExtension" />
    <object-type name="camitk::MeshComponent" />
    <object-type name="camitk::Slice" />
    <object-type name="camitk::ComponentExtension" />
    <object-type name="camitk::ComponentPopupMenu" />
    <object-type name="camitk::Component" />
    <object-type name="camitk::Geometry" />
    <object-type name="camitk::GeometricObject" />
    <object-type name="camitk::SingleImageComponent" />
    <object-type name="camitk::MedicalDataOriginDialog" />
    <object-type name="camitk::ImageComponent" />
    <object-type name="camitk::ImageComponentExtension" />
    <object-type name="camitk::HistoryComponent" />
    <object-type name="camitk::Core" />
    <object-type name="camitk::ObjectController" />
    <object-type name="camitk::Log" />
    <object-type name="camitk::PlaneC" />
    <object-type name="camitk::SliderSpinBoxWidget" />
    <object-type name="camitk::SliderTextWidget" />
    <object-type name="camitk::ActionExtension" />
    <object-type name="camitk::Action" />
    <object-type name="camitk::ExtensionManager" />
    <object-type name="camitk::Application" />
    <object-type name="camitk::SettingsDialog" />
    <object-type name="camitk::MainWindow" />

</typesystem>
 
I've been trying to include several typesystems (the ones commented 'optional'), but this did not solve the problem.
I'm running a Debian Wheezy (stable) Linux distribution using Shiboken 1.1.1. I've also tested the 1.1.8 and 1.2.1 version of Shiboken (with a Kubuntu 13.10 distribution), but the issue remains.

I've found some people on the net, also encountering this problem, but with no solution on how to solve it. This is why I'm turning to your binding's wisdom !
As I'm absolutely not mastering the Shiboken tool, I could have made a mistake and if someone has an idea, he / she is more than welcome !

Thanks a lot,
Nicolas S.

-- 
Nicolas SAUBAT
Ingénieur Recherche et Développement
Equipe GMCAO - Laboratoire TIMC-IMAG
Pavillon Taillefer
Allée des Alpes - Domaine de la Merci
38706 La Tronche
Tel : (33)04 56 52 00 10

_______________________________________________
PySide mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/pyside

Reply via email to