|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() |
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 |
|
30
|
|
|
#2 |
![]() ![]() Inscription : août 2004 Messages : 8 640 ![]() |
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. |
|
|
01
|
|
|
#3 |
![]() ![]() ![]() |
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.
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() |
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. |
|
|
00
|
|
|
#6 | |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 58 ![]() |
Citation:
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 +--------------------------------------------------+ |
|
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() |
Citation:
Citation:
|
||
|
20
|
|
|
#8 | |
|
Membre éclairé
![]() Inscription : juin 2002 Messages : 376 ![]() |
Citation:
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 |
|
|
|
10
|
|
|
#9 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#10 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#11 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#12 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#13 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#14 |
![]() ![]() ![]() |
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 |
|
20
|
|
|
#15 |
![]() ![]() ![]() |
|
|
20
|
|
|
#16 |
![]() ![]() ![]() |
|
|
20
|
|
|
#17 |
|
Invité régulier
![]() Daniel Étudiant Inscription : juillet 2011 Messages : 4 ![]() |
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. |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() |
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é. |
|
00
|
Copyright © 2000-2013 - www.developpez.com