Précédent   Forum des professionnels en informatique > C et C++ > Bibliothèques > Qt
Qt Forum d'entraide technique sur la bibliothèque Qt. Avant de poster -> F.A.Q Qt
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2012, 23h00   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à requinham
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
requinham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 05h25   #2
Modérateur
 
Homme
Ingénieur développement logiciels
Inscription : mai 2009
Messages : 574
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France

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

Informations forums :
Inscription : mai 2009
Messages : 574
Points : 916
Points : 916
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.
Troudhyl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 23h45   #3
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à requinham
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 ?
requinham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 10h30   #4
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
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).
ymoreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 14h26   #5
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à requinham
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
requinham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 08h46   #6
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à requinham
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
requinham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 12h16   #7
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
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.
ymoreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 14h03   #8
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 86
Points : 36
Points : 36
Envoyer un message via MSN à requinham
Merci pour votre aide
requinham est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h46.


 
 
 
 
Partenaires

Hébergement Web