Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > Qt Jambi
Qt Jambi Forum d'entraide pour Qt Jambi.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 20h26   #1
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Par défaut Du Qt en Java avec Qt Jambi

Vous avez envie d'avoir des interfaces qui s'adaptent à votre environnement de travail ? Et, en plus, pour tout un tas de raisons, vous souhaitez le faire en Java plutôt qu'en C++ ?

Allons-y, je vais vous expliquer pas à pas ma démarche.

Ce tutoriel n'a pas pour vocation d'être la bible du Qt Jambi mais plutôt de vous aider à vous jeter dans la gueule du loup relativement simplement (ce qui est écrit juste après est le fruit de plusieurs heures de recherches).

Du Qt en Java avec Qt Jambi
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 14/06/2011, 11h41   #2
sinok
Modérateur
 
Avatar de sinok
 
Inscription : août 2004
Messages : 8 640
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2004
Messages : 8 640
Points : 12 444
Points : 12 444
Personnellement j'ai un peu des doutes sur la pérennité du projet, il a été droppé par Nokia, donc ce sont des bénévoles qui l'ont repris, et de plus le passage à Qt5 lui sera probablement fatal (grosso modo il faudrait refaire tout les bindings pour s'adapter à tout ce qui est scenegraph, QML, QtComponents &cie)...
__________________
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
sinok est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/06/2011, 12h22   #3
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Non, pas besoin de tout refaire, ils peuvent très bien repartir sur les bases actuelles. QML n'est pas une nouveauté de Qt 5, c'est déjà dans Qt 4.7 (et pas encore supporté par Jambi). Mais ce n'est pas forcément le plus bloquant, le binding est déjà bien fonctionnel, on peut déjà bien s'amuser avec lui.
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 19h59   #4
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Pour programmer en Java, chacun a ses propres habitudes. Pour ma part, je suis partisan du non EDI, tout en ligne de commandes... De la même manière que j'ai choisi Linux pour comprendre ce que je faisais, je préfère la ligne de commande quand je programme.

Seulement, si vous êtes sous Windows ou que vous n'aimez pas la ligne de commande, vous pouvez utiliser un IDE. Je partirais volontier du principe que vous savez utiliser votre IDE.

Utiliser Qt avec Java
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 17/06/2011, 10h19   #5
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 280
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 280
Points : 32 756
Points : 32 756
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Sans vouloir d'abuser, tu pourrais mettres des pages suivante / précédente dans les tutos, parce que c'est pas facile de devoir à chaque fois revenir sur la page de garde pour cliquer sur le lien suivant

PS: dommage, pas de version windows java 64 bits :/
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 12h40   #6
nickylarson
Membre du Club
 
Homme
Inscription : mai 2003
Messages : 58
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2003
Messages : 58
Points : 60
Points : 60
Citation:
Envoyé par sinok Voir le message
Personnellement j'ai un peu des doutes sur la pérennité du projet, il a été droppé par Nokia, donc ce sont des bénévoles qui l'ont repris, et de plus le passage à Qt5 lui sera probablement fatal (grosso modo il faudrait refaire tout les bindings pour s'adapter à tout ce qui est scenegraph, QML, QtComponents &cie)...
J’apprécie beaucoup Qt, mais je partage l'avis de sinok (mais ou est Madame Folding ?!).

J'avais effectivement noté la même chose, et si on rajoute en toile de fond M$ avec sa venue dans l’écosystème nokia...
__________________
+--------------------------------------------------+
Avec le TGV Marseille est devenue la banlieue de paris,
Et avec Internet le monde est de plus en plus petit,
Mais ce n'est pas une raison pour aller polluer
L'espace
+--------------------------------------------------+
nickylarson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 22h27   #7
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Citation:
Envoyé par tchize_ Voir le message
Sans vouloir d'abuser, tu pourrais mettres des pages suivante / précédente dans les tutos, parce que c'est pas facile de devoir à chaque fois revenir sur la page de garde pour cliquer sur le lien suivant
Je viens d'ajouter des références en bas d'article, avec des liens vers tous les articles de la série déjà publiés !

Citation:
Envoyé par nickylarson Voir le message
J'avais effectivement noté la même chose, et si on rajoute en toile de fond M$ avec sa venue dans l’écosystème nokia...
Ils en viennent à tellement tenter de rassurer les développeurs que ça commence à devenir inquiétant, en effet. Dernière tentative en date : http://blog.qt.nokia.com/2011/06/21/...-next-billion/, avec http://qt.developpez.com/actu/34368/...-framework-Qt/.
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 22/06/2011, 14h18   #8
herzleid
Membre éclairé
 
Avatar de herzleid
 
Inscription : juin 2002
Messages : 376
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juin 2002
Messages : 376
Points : 389
Points : 389
Citation:
Envoyé par sinok Voir le message
Personnellement j'ai un peu des doutes sur la pérennité du projet, il a été droppé par Nokia, donc ce sont des bénévoles qui l'ont repris, et de plus le passage à Qt5 lui sera probablement fatal (grosso modo il faudrait refaire tout les bindings pour s'adapter à tout ce qui est scenegraph, QML, QtComponents &cie)...
C'est un faux argument. Le nombre de projets de niveau professionnel qui tourne avec des bénévoles est très important.
Par contre, le fait qu'il y ait peu de battage autour de cette solution, risque de lui être fatale (peu de nouveau dev, peu de renouvellement de dev etc ....)
__________________
www.kywyxy.net
herzleid est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/06/2011, 22h47   #9
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Dans ce tutoriel, nous allons voir les bases de la création d'un projet en utilisant Qt Jambi. Nous verrons comment ouvrir une fenêtre.

Qt Jambi : codons notre première fenêtre
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/06/2011, 10h52   #10
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Plusieurs possibilités pour agencer les widgets (objets graphiques) dans une fenêtre : cela s'appelle les layouts (ou dispositions).

Qt Jambi : disposer les choses
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/07/2011, 20h12   #11
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Maintenant qu'on sait disposer des objets dans des widgets, il faut finalement mettre ce widget dans une fenêtre pour l'afficher. Mais, jusque là, tout s'affichait très bien ? Oui, car votre gestionnaire de fenêtres, ne pouvant pas afficher un widget seul, créait une fenêtre pour que nous puissions afficher notre widget. Mais, si on veut changer le titre, par exemple, il faut une vraie fenêtre.

Qt Jambi : une boîte de dialogue
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/07/2011, 20h39   #12
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Le plus souvent, pour organiser tout cela, on utilise des menus, des barres d'outils et une barre de statut. Qt nous propose un objet QMainWindow pour gérer tout cela.

Qt Jambi : une application avec des menus et des barres d'outils
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 12/07/2011, 20h42   #13
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Un objet Qt (dérivant de QObject) peut utiliser les mécanismes de signaux/slots. Ce mécanisme est une implémentation du pattern observateur qui consiste à émettre un signal sans connaitre le(s) destinataire(s) et recevoir un signal sans connaître l'émetteur (bien que l'on puisse le savoir si nécessaire, ce n'est en général pas le cas). La manière dont elle a été portée pour Qt Jambi est très intéressante. Lisez plutôt...

Qt Jambi : connecter les objets entre eux
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/07/2011, 21h00   #14
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
On peut bien sûr utiliser les signaux existants, mais ça peut-être intéressant d'émettre des signaux entre ses propres objets. Heureusement pour nous, avec Qt Jambi c'est très facile. Voyez plutôt...

Qt Jambi : émettre un signal
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/07/2011, 21h01   #15
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
On va ici créer un lecteur avec des menus.

Qt Jambi : JEditor, un simple éditeur de fichier texte
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 27/07/2011, 21h01   #16
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
On va ici créer une visionneuse d'images avec des menus.

Qt Jambi : JViewer, un lecteur d'image
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 30/07/2011, 06h30   #17
Noze_
Invité régulier
 
Homme Daniel
Étudiant
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 5
Points : 5
Ce qui est appréciable avec qt Jambi reste la rapidité avec laquelle on définit des raccourcis clavier.

Les raccourcis de JMenuItem sont assez longs à définir en comparaison de ceux montrés ici.

Des avis sur le "long terme" quant à l'utilisation de ce portage de Qt ?

Merci pour ces explications claires.
Noze_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 11h52   #18
dourouc05
Responsable Qt & Web sémantique

 
Avatar de dourouc05
 
Homme Thibaut Cuvelier
Étudiant
Inscription : août 2008
Messages : 18 577
Détails du profil
Informations personnelles :
Nom : Homme Thibaut Cuvelier
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : août 2008
Messages : 18 577
Points : 74 129
Points : 74 129
Envoyer un message via MSN à dourouc05 Envoyer un message via Yahoo à dourouc05
Citation:
Envoyé par Noze_ Voir le message
Des avis sur le "long terme" quant à l'utilisation de ce portage de Qt ?
Ce n'est pas un portage, c'est un binding : tout ce que tu fais en Java finit en appels de fonctions C++. La différence est grande : tout ce qui améliore Qt sans toucher à son API est directement disponible à Qt Jambi ; par contre, toute modification de l'API requiert des modifications du côté de Qt Jambi, pour la plupart automatisables.

Ensuite, ce binding sera encore utilisable pour Qt 4.8 sans grandes modifications, si du moins la séparation en modules ne change pas trop l'architecture actuelle. Par contre, pour Qt 5 et Qt Quick, il n'y a pour le moment rien de prévu : personne qui travaille sur le support de Qt Quick ; Qt 5 apportant une modularisation effective avec open governance et tout ce qui va avec, ça risque de ne pas être une partie de plaisir de leur côté.
__________________
Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

Pas de question d'ordre technique par MP !
dourouc05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h05.


 
 
 
 
Partenaires

Hébergement Web