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

Qt Discussion :

Créer un éditeur d'IHM pour un langage de script


Sujet :

Qt

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 105
    Points : 109
    Points
    109
    Par défaut Créer un éditeur d'IHM pour un langage de script
    Bonjour à tous,

    Je suis dans le besoin de créer une application graphique avec qt qui permettra de creer aussi d'autre application graphique assez simple avec un langage de script et de pouvoir les compiler et les lancer.

    Pour un exemple je voudrais coder une application Qt qui fait l'objet d'un IDE comme QtCreator par exemple destiné pour creer des IHM assez simple (checkbox, lineedit, combobox, et d'autres element graphique personnalisé) et de coder leurs fonctionnement apres avec un langage de script.

    est ce possible et au niveau conceptuel comment gérer ces deux niveaux d'execution : le premier celui du code de l'application et le deuxieme celui du code script avec les IHM défini et d'executer ces derniers.

    j'attends vos réponses
    Merci

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Est-ce que ça ne ressemblerait pas à Qt Quick ce dont tu parles ? L'interface est en QML, JavaScript sert de langage de script, et tout ceci est exécuté grâce à qmlviewer ou une application Qt/C++ utilisant le module QtDeclarative.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 105
    Points : 109
    Points
    109
    Par défaut
    mais le problème c'est que je dois développer des IDE pareil et non pas utiliser des existants car le langage de script utilisé est spéciale destiné à des traitements spécifique donc je dois lui coder un IDE pour créer des ihm et les éditer et de pouvoir à travers ces iDE les compiler et les exécuter par la suite donc je dois créer le programme avec lequel on crée des programme !

    Je ne vois pas comment faire ça surtout au niveau conception c'est un peu difficile au départ de bien voir les choses ?

  4. #4
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Programmer un IDE c'est un projet assez conséquent. Pour la conception d'ensemble tu peux t'inspirer de QtCreator justement, regarder les sources. Il y a aussi Monkey Studio qui est un IDE pour Qt, mais sans designer inclu, le code source sera peut être plus simple à étudier.

    Pour l'éditeur de code, Qt offre déjà beaucoup de choses, et tu peux t'inspirer des exemples et des IDE existants.
    Pour la partie designer, je ne sais pas s'il existe des choses réutilisables, sinon Qt permet de faire tout ça même si ça peut être beaucoup de boulot.
    Pour la compilation, on peut appeler des exécutables externes et récupérer leur sortie standard. Ça ne demande pas énormément de boulot.

    Pour lier tout ça, ça dépend de la structure de ton langage. Est-ce comme avec Qt les interfaces sont enregistrées dans un format à part puis converties en code (.ui -> .h) ? Dans tous les cas il te faudra certainement une ou plusieurs classes gardant les données à jour entre le code et le designer, pour l'auto complétion par exemple.

    La conception (en objet) est assez générale donc tu pourrais te renseigner sur les méthodes de réflexion dans des livres ou des articles. Ensuite poser à plat ce que ton projet a besoin de faire, diviser les tâches et voir quelles données elles doivent échanger. Ensuite faut organiser tous ces détails dans différentes classes pour isoler au mieux tout en facilitant au mieux le code (c'est un compromis à faire).

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 105
    Points : 109
    Points
    109
    Par défaut
    Merci pour ces explications et ces liens, je vais commencer par l'analyse du code de qt creator malgrès que ça va être un peu surdimensionné par rapport à mes besoins et apres je me focaliserai sur la conception.

    Excellente journée à tous

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 105
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    Je reviens vers vous pour un détail technique qui me pose un sérieux problème.
    En effet, je voudrais que mon designer d'interface et mon programme ainsi conçu puisse être exécuter directement sans fermer l'application mère et qu'il soit rattaché automatiquement à son processus. En d'autres termes, j'aurais mon application mère lancé et contenant plusieurs modules. Parmi ces modules le designer et l'interpréteur de script et donc une fois j'ai conçu ma nouvelle fenêtre je voudrai lancé directement son exécution dans le même contexte du processus (en rajoutant une mdichild par exemple à ma fenêtre principale).

    Est ce possible avec les QAxObject ou autres ?
    Je travaille sous windows.

    Merci

  7. #7
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Désolé je ne connais pas tout ça. Mais je suppose que si ton designer et ton interpréteur sont dans le bon format c'est faisable. Tout dépend en fait de comment sont faits tes modules. S'il s'agit d'exécutable, de bibliothèques dynamiques.

    Pour QAxObject il faut apparemment des COM object, j'imagine qu'il y a un standard à suivre pour ça.
    Pour les MDI, ça ne semble que gérer des sous fenêtres internes dans ton application, mais tu dois les créer dans ton code comme des widgets au final.
    Tu pourrais par contre gérer un appel à un exécutable externe en utilisant QProcess. En écrivant sur son entrée standard et en récupérant sa sortie (pour l'interpréteur).

    Si jamais tu codes toi même les modules, alors je pense qu'il sera beaucoup plus pratique de les intégrer dans ton code, en tant que bibliothèque dynamique ou carrément de classes importées dans le projet. L'interaction avec des classes/fonctions est plus agréable, et permet beaucoup plus de choses qu'en passant par un standard intermédiaire.

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2006
    Messages : 105
    Points : 109
    Points
    109
    Par défaut
    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer appli web:Java est-il le langage idéal pour cette appli?
    Par Terminator dans le forum Général Java
    Réponses: 14
    Dernier message: 10/06/2011, 15h10
  2. Réponses: 1
    Dernier message: 06/12/2010, 17h13
  3. comment créer un compilateur pour le langage C ?
    Par mooan dans le forum Choisir un environnement de développement
    Réponses: 1
    Dernier message: 02/12/2010, 12h27
  4. Réponses: 9
    Dernier message: 01/12/2010, 10h17
  5. Créer un éditeur BBcode pour asp
    Par 0kiss0 dans le forum ASP
    Réponses: 1
    Dernier message: 15/04/2007, 19h54

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