IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[Debat] C++ et IHM


Sujet :

C++

  1. #41
    Membre éclairé Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Points : 693
    Points
    693
    Par défaut
    Et gtkmm... qu'en pensez vous?
    Personnelement je trouve son API agréablement objet.

  2. #42
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Que voulez-vous dire au sujet de WxWidget? C'est moins "propre"?

    Et Python, vraiment intéressant? On peut l'interfacer avec du C++?

  3. #43
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par poukill Voir le message
    Que voulez-vous dire au sujet de WxWidget? C'est moins "propre"?
    Oui, et bien moins abouti, bien moins fourni que Qt. Pas de designer officiel, et j'en passe.

    Citation Envoyé par poukill Voir le message
    Et Python, vraiment intéressant? On peut l'interfacer avec du C++?
    Python est vraiment sympa
    Regarde du côté de Boost.Python

  4. #44
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    La pompe à message est par exemple entièrement crée sous forme de macro. Avec Qt, comme il s'agit des signaux et slots, c'est plu agréable à utiliser.
    Sous Python, j'utilise en revanche wxPython à cause de la licence et du fait que pour le coup, la gestion des évènements est très bien faite. pyQt est bien la doc est trop vieille (et il n'est maintenu que par une seule personne qui s'occupe aussi de SIP, un concurrent de SWIG écrit pour Qt).

  5. #45
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    J'utilise depuis 6 mois WxWidget, je trouve ça pas aml... Je n'ai jamais utilisé Qt, donc je peux pas juger, je suis obligé de vous faire confiance !

    Alp, je regarderai demain Boost.Python. Mais on peut sérieusement envisager de construire un logiciel entier (assez gros projet), en faisant l'interface IHM sous Python, avec la partie algo en C++?
    Quelqu'un d'entre vous l'a t-il déjà fait?
    J'ai entendu bcp de bien sur Python, il est temps que je m'y mette !

  6. #46
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le gros point négatif pour l'instant de Boost.Python et de SWIG, son collègue plus versatile et moins spécialisé, c'est qu'il n'y a pas de tuto sur le net vraiment complet. D'ailleurs, c'est compliqué de gérer les types natifs Python et C++ de concert, donc encore moins les types utilisateurs.

    Mais ça se fait tout de même

  7. #47
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Miles Voir le message
    Le gros point négatif pour l'instant de Boost.Python et de SWIG, son collègue plus versatile et moins spécialisé, c'est qu'il n'y a pas de tuto sur le net vraiment complet. D'ailleurs, c'est compliqué de gérer les types natifs Python et C++ de concert, donc encore moins les types utilisateurs.

    Mais ça se fait tout de même
    J'ai regarder rapidement boost.python, et j'ai compris que c'était pour générer un code utilisable par python avec bjam...

    Donc si j'ai bien compris, c'est pour utiliser du C++ dans du python (et non l'inverse), et faut donc utiliser un intermédiaire (bjam) comme Qt (ui / moc).
    es que je me trompe?

  8. #48
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par Miles Voir le message
    La pompe à message est par exemple entièrement crée sous forme de macro. Avec Qt, comme il s'agit des signaux et slots, c'est plu agréable à utiliser.
    La Doc recomande les macros , mais on peut utiliser Connect si on le souhaite.

    Citation Envoyé par Alp Voir le message
    Oui, et bien moins abouti, bien moins fourni que Qt.
    Je ne vois pas où wx est moins abouti que Qt.

    Citation Envoyé par Alp Voir le message
    Pas de designer officiel, et j'en passe.
    Pas de designer officiel , pas un mais plusieurs :
    http://www.wxwidgets.org/wiki/index....on_Development
    C'est ca la possibilité du choix. Avec Qt , c'est Qt designer ou rien.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  9. #49
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Oui, tu te trompes

    On peut faire les deux, C++ dans Python et Python dans C++. Et bjam, c'est un cmake/Scons/automake -like, rien d'autre. Il n'y a pas vraiment de préprocessing ni rien (contrairement à SWIG qui génère un wrapper qui devra être compilé après)

  10. #50
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Miles Voir le message
    Oui, tu te trompes

    On peut faire les deux, C++ dans Python et Python dans C++. Et bjam, c'est un cmake/Scons/automake -like, rien d'autre. Il n'y a pas vraiment de préprocessing ni rien (contrairement à SWIG qui génère un wrapper qui devra être compilé après)
    Ok merci (j'ai vu aprés que python vers C++ est possible).

    Du coup une question, es compliqué de scripter un code C++ en utilisant python avec boost.python?

    Par contre dans le hello word il utilise bjam pour gener un hello.pyd... Ce n'est pas une sorte de préprocessing?

  11. #51
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Non, en fait il faut créer une DLL, pour python 2.5 avec Windows, elle doit avoir pyd comme extension.
    Scripter un code C++ depuis Python est très simple à faire à partir du moment où les données C++ (autres qu'entier, flottant) ne remontent pas vers Python. Avec SWIG et Boost.Python, un module Python sera créé (il faut tout de même écrire à un moment ce qui sera wrappé et ce qui ne le sera pas) dans lequel il y aura les fonctions qu'il sera facile d'appeler. C'est quelque chose du style que Civilization 4 fait.

  12. #52
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Miles Voir le message
    Scripter un code C++ depuis Python est très simple à faire à partir du moment où les données C++ (autres qu'entier, flottant) ne remontent pas vers Python.
    ca limite pas mal les possibilités non?
    Du coup faut une sorte de class interface qui contiens tout ce que python pourra faire avec le code fournie?
    Par exemple si python fait une interface qui va comparer deux images. Le code de chargement et de comparaison sont dans une lib C++, faudra créer une class qui va interfacer ce que va faire l'ihm?

  13. #53
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je n'ai pas dit que c'était impossible, j'ai dit que ce n'était pas aussi simple que simplement dire que la fonction serait accessible depuis Python. Par exemple, si on prend les tableaux de Numpy, il faut dire en C++ qu'on va utiliser le pointeur du tableau et là, soit il n'est valable que pendant le temps de l'appel de la fonction, soit on enregistre le fait qu'on ait une référence supplémentaire, mais il faut aussi interfacer le code C++ pour qu'il accepte un tel tableau.
    C'est là où ce n'est pas aussi simple.

    Mais par exemple, si tout est en C++, y compris la lecture d'une image, on lit deux images et on récupère 2 objets images et on les réinjectes dans un filtre par exemple, et ça se fera très bien. On ne pourra juste rien modifier directement en Python.

  14. #54
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Miles Voir le message
    Je n'ai pas dit que c'était impossible, j'ai dit que ce n'était pas aussi simple que simplement dire que la fonction serait accessible depuis Python. Par exemple, si on prend les tableaux de Numpy, il faut dire en C++ qu'on va utiliser le pointeur du tableau et là, soit il n'est valable que pendant le temps de l'appel de la fonction, soit on enregistre le fait qu'on ait une référence supplémentaire, mais il faut aussi interfacer le code C++ pour qu'il accepte un tel tableau.
    C'est là où ce n'est pas aussi simple.

    Mais par exemple, si tout est en C++, y compris la lecture d'une image, on lit deux images et on récupère 2 objets images et on les réinjectes dans un filtre par exemple, et ça se fera très bien. On ne pourra juste rien modifier directement en Python.
    Cool merci pour les précisions.
    Donc faire une ihm en python avec un code C++ pose les même problème... Faut concevoir une interface qui sera utilisé par python la plus indépendante que possible

  15. #55
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Comme dit, pas forcément. tout dépend ce que tu veux mettre dans ton IHM. Si tu as des widgets d'affichage, tu peux très bien les laisser en C++ et y accéder de manière transparente en Python sans savoir si ce sont des patates ou des carottes.

  16. #56
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    La Doc recomande les macros , mais on peut utiliser Connect si on le souhaite.
    Oui, j'ai vu ça.

    Citation Envoyé par Davidbrcz Voir le message
    Je ne vois pas où wx est moins abouti que Qt.
    C'est de la mauvaise foi ...


    Citation Envoyé par Davidbrcz Voir le message
    Pas de designer officiel , pas un mais plusieurs :
    http://www.wxwidgets.org/wiki/index....on_Development
    C'est ca la possibilité du choix. Avec Qt , c'est Qt designer ou rien.
    Oui mais Qt Designer est quand même totalement suffisant...
    Choisir c'est bien beau, mais bon ... Je trouve Qt un cran au-dessus de wx.
    Pourtant j'ai beaucoup utilisé wx, mais je préfère Qt, vraiment.

  17. #57
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    C'est de la mauvaise foi ...
    Non ,je le pense sincérement.
    Pour ce que j'ai utilsé de Qt ('petite' application 'normale') j'ai toujours trouvé un équivalent chez wx.
    Après il est vrai que je n'ai ni exploré la doc de Qt en profondeur ni celle de wx pour trouver leurs composants 'exotique'.

    Oui mais Qt Designer est quand même totalement suffisant...
    Choisir c'est bien beau, mais bon ... Je trouve Qt un cran au-dessus de wx.
    Pourtant j'ai beaucoup utilisé wx, mais je préfère Qt, vraiment.
    Question de gout.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  18. #58
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    ( Il y a une faute de frappe dans ta "Localisation" David, oublié un r à France )

    Oui bien sûr c'est une question de goût.

    Mais Qt a un aspect bien plus professionnel, non ?

  19. #59
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Pour ce que j'ai utilsé de Qt ('petite' application 'normale') j'ai toujours trouvé un équivalent chez wx.
    Après il est vrai que je n'ai ni exploré la doc de Qt en profondeur ni celle de wx.
    Et inversement
    Mais Qt propose tout de même plus de versatilité, rien que pour les styles par exemple, que wx (qui reste cantonné à GTK+ et au feeling Windows sous... Windows)
    Citation Envoyé par Alp Voir le message
    Mais Qt a un aspect bien plus professionnel, non ?
    Je ne dirais pas plus professionnel mais plus architecturé (séparation des bibliothèques, meilleure orientation objet, ...)
    Mais oui, c'est une histoire de goût et d'approche du C++ (si on vient du C, on appréciera sans doute plus wxWidgets et si on est plus C++ dur, peut-être qu'ons era plus Qt).

  20. #60
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Oui, je pense qu'il y a du vrai dans ce que tu dis.

Discussions similaires

  1. Réponses: 26
    Dernier message: 11/08/2013, 19h27
  2. Débat sur les outils de développement RAD.
    Par PsychicStorm dans le forum Débats sur le développement - Le Best Of
    Réponses: 20
    Dernier message: 20/08/2003, 11h29
  3. [DEBAT] Cadre ou Technicien ?
    Par Maître Kenobi dans le forum Emploi
    Réponses: 50
    Dernier message: 05/06/2003, 23h19
  4. [DEBAT]Différence entre pme et grande entreprise
    Par dante2002 dans le forum Emploi
    Réponses: 6
    Dernier message: 02/06/2003, 17h20
  5. Réponses: 13
    Dernier message: 11/05/2003, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo