Le 3 mars 2009, grand jour des sorties chez Qt : le très attendu Qt 4.5.0, l'IDE Qt Creator 1.0
et le tout premier Qt SDK. Il a été reçu les bras ouverts, surchargeant au passage notre serveur pour un petit moment.
Depuis lors, pas moins de 13 TB de fichiers Qt pour cette version au été distribués !
Création : 19/08/2009 ·
Mise à jour : 23/10/2010 · 12 commentaires ·
Au Mobile World Congress du 15 février 2010, Intel et Nokia ont
annoncé le rassemblement de deux distributions Linux, appelé
MeeGo, ciblant les périphériques embarqués de plusieurs
segments de marché. MeeGo combine le meilleur de Moblin et
de Maemo en une seule offre open source qui crée une plateforme
intégrée, supportant de multiples architectures processeur et
des marchés d'applications fédérées. Les types d'appareils
visés sont les smartphones, netbooks, tablettes, TV connectées,
les systèmes de divertissement en voiture et les téléphones
multimedia. Nokia et Intel prévoient de construire et d'envoyer
sur le marché de grandes quantités d'appareils de prochaine
génération basés sur MeeGo et ces puces en 2010.
Création : 26/08/2010 ·
Mise à jour : 06/09/2010 · 1 commentaire ·
Nous nous focaliserons sur le déploiement d'applications sur Windows. Comme pour des applications sur Mac OS X,
déployer des applications sur Windows ne nécessite pas de programmation C++. Tout ce dont vous avez besoin est de
compiler Qt et votre application en mode release, et de suivre les procédures décrites dans cet article.
Nous exposerons ces procédures en déployant l'application showimg disponible dans le répertoire
examples de Qt.
Création : 09/02/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Qt nous permet de connecter plusieurs signaux à un même slot.
Cela peut être utile pour donner à l'utilisateur différentes manières de réaliser la même action.
Cependant, nous voulons parfois que le slot se comporte légèrement différemment selon
le widget qui l'a appelé. Dans cet article, nous explorons diverses solutions, dont
l'utilisation de QSignalMapper.
Création : 08/02/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Le développement de logiciels threadés est toujours un défi. Diviser une application complexe en unités
d'exécution séparées sans compromettre sa stabilité requiert, non seulement une conception bien structurée
qui empêche le développeur d'accéder aux données non protégées, mais aussi une bonne compréhension des concepts,
des outils et des mises en garde de la programmation multithreadée.
Création : 21/12/2009 ·
Mise à jour : 04/07/2010 · 12 commentaires ·
Il y a trois approches pour utiliser des bibliothèques externes à Qt : les lier directement, les charger dynamiquement
quand nécessaire, et utiliser les plug-ins pour applications. Dans cet article, nous jetterons un oeil à ces trois
approches, et discuterons de leurs avantages et inconvénients.
Création : 14/05/2009 ·
Mise à jour : 04/07/2010 · 12 commentaires ·
Déployer dans le Bazaar par
Nokia Corporation and/or its subsidiary(-ies), traducteur : Thibaut Cuvelier
Le déploiement d'applications sous Linux peut, quelques fois, être plutôt fastidieux.
En effet, il faut supporter des myriades de distributions et des pléthores de librairies.
Sans doute connaissez-vous un magasin d'ameublement suédois, qui doit faire la même chose.
Voici sa solution : amener les quelques pièces nécessaires à l'utilisateur, et le laisser les assembler seul.
Malheureusement, les instructions d'assemblage pour un logiciel ne sont pas souvent aussi polyvalentes
que celles de Billy l'étagère.
Création : 12/08/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
L'accessibilité dans les applications, c'est rendre ces applications utilisables par des personnes handicapées.
Ceci peut être implémenté dans l'application elle-même (par exemple, en utilisant une interface à haut contraste avec
des couleurs spécialement choisies, ainsi que des polices adaptées, ou bien en fournissant un support pour des outils
externes (des lecteurs d'écran ou des affichages en Braille).
Création : 22/03/2009 ·
Mise à jour : 08/07/2010 · 12 commentaires ·
Depuis Qt 4.5, il est désormais possible de demander à Qt
d'utiliser Cocoa sur Mac OS X. Les principaux avantages sont
la capacité de lancer des applications 64 bits et l'accès à des
fonctionnalités uniques à Cocoa. Dans cet article, nous allons
examiner le fond du changement vers Cocoa, montrer comment compiler
Qt pour des besoins si spécifiques, et regarder quelles sont les
nouvelles possiblités offertes pas ce portage.
Création : 20/03/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Depuis la première interface graphique, on apprend que garder le code de l'interface et la logique séparés est la clé d'un bon design. Cependant, il est si fréquent d'échouer...
Abusons de QMap par
Nokia Corporation and/or its subsidiary(-ies), traducteur : Thibaut Cuvelier
La classe QMap<Cle, Valeur> stocke des paires (clé, valeur), où chaque clé est associée à une seule
valeur. Cet article présente une méthode très rapide, mais peu propre, pour faire des clés associées à de multiples
valeurs.
Création : 25/02/2009 ·
Mise à jour : 06/07/20100 · 12 commentaires ·
Les programmeurs en C++ peuvent utiliser des expressions régulières à la manière du Perl
grâce à la classe QRegExp, complètement réécrite depuis Qt 3.0.
Nous présentons ici quelques aspects pratiques de l'utilisation d'expressions régulières
pour l'analyse, la validation et le filtrage.
Nous jetterons aussi un oeil à leur optimisation et à la rectification de quelques futilités.
Création : 25/02/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Dans cet article, nous allons développer un dérivé de QIODevice, qui chiffre et déchiffre à la volée un flux.
La classe agit comme un wrapper pour une classe d'E/S, comme QFile ou QSocket. Elle peut même
être combinée avec QTextStram ou QDataStream. Finalement, nous verrons quelles améliorations
QIODevice peut nous apporter.
Création : 22/02/2009 ·
Mise à jour : 04/07/2010 · 12 commentaires ·
L'arrivée de Qt 4.5 marque l'apparition de la classe QTextDocumentWriter, rendant possible la création
de fichiers au format OpenDocument (ODF) à partir de n'importe quel document Qt. Ceci ouvre la voie
à la création automatisée de documents et la distribution dans un format conforme aux standards
que l'utilisateur pourra ouvrir dans une large gamme de logiciels de traitement de texte.
Création : 05/08/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Vous êtes-vous déjà trouvé en train d'écrire tr("%1 object(s) found").arg(count)
dans l'une de vos applications ? Qt 4.2 introduit un mécanisme puissant permettant de gérer
avec élégance les pluriels : celui-ci fonctionne pour toutes les langues et exige peu de travail
supplémentaire de la part du développeur.
Création : 05/01/2010 ·
Mise à jour : 05/07/2010 · 2 commentaires ·
Un tr() oublié ? par
Jasmin Blanchette, traducteur : Thibaut Cuvelier
Le mécanisme de Qt pour l'internationalisation (tr()) est facile à comprendre, facile à utiliser, et
facile à mal employer. Cet article donne quelques astuces pour s'assurer que toutes les chaînes
d'une application, visibles pour l'utilisateur, passent à la moulinette tr(), et que lupdate
les trouve. Les développeurs monolingues ne sont pas laissés sur le banc : cet article traite aussi du suédois.
Création : 18/02/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Cet article fournit des réponses à quelques questions fréquemment posées sur l'internationalisation des programmes Qt.
Il couvre des sujets variés, comme la distribution des fichiers de traduction, les traductions inversées, et
le changement dynamique de langue.
Création : 01/09/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Permettre la traduction facile des interfaces utilisateur est l'un
des points forts de Qt. Le support de l'unicode dès les fondations
et une infrastructure pour l'internationalisation permettent de
travailler facilement dans un environnement internationalisé.
Création : 15/04/2010 ·
Mise à jour : 10/07/2010 · Commentez ·
Le widget QListView fournit des vues, et de listes, et d'arborescences.
La classe fournit un tri par n'importe quelle colonne, qui respecte le codage Unicode, ou bien
strictement aucun tri.
Cependant, il existe souvent des situations où le tri doit être plus sophistiqué qu'un simple tri lexical.
Cette partie explique comment prendre le contrôle total du tri de QListView.
Création : 25/02/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Mettre à jour à répétition les pixmaps des widgets peut bloquer
les programmes. Cet article montre comment améliorer la vitesse
d'exécution des applications en mettant en cache les pixmaps
obtenues en redessinant les widgets.
Création : 08/04/2010 ·
Mise à jour : 04/07/2010 · 6 commentaires ·
L'API d'E/S de Qt pour images fournit une interface de haut niveau pour la lecture et l'écriture d'images dans les
formats populaires supportés par Qt, dont le JPEG, le PNG et le BMP. Mais que se passe-t-il si votre application
a besoin d'un support d'autres formats, non supportés par Qt ?
Cet article pose cette intrigante question.
La première partie donne un aperçu du framework de Qt, en révélant ce qui se passe derrière la scène.
Spécifiquement, nous montrons comment Qt peut supporter une telle multitude de formats d'image d'une manière
extensible.
La seconde continue en montrant, à l'aide d'un exemple, comment vous pouvez participer au pouvoir de ce framework,
et fournir une intégration avec vos propres formats d'image.
Création : 22/02/2009 ·
Mise à jour : 04/07/2010 · 12 commentaires ·
Pour les dactylos rapides, il y a des raccourcis clavier. Ceux-ci sont pleinement pris en charge
par Qt et facile à configurer. Il existe un équivalent orienté souris des raccourcis clavier :
il s'agit des gestes de souris. Dans cet article, je présenterai quelques classes que vous pouvez
employer pour utiliser la reconnaissance des gestes de souris dans votre application Qt.
Création : 21/12/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Réordonner les boutons par
Nokia Corporation and/or its subsidiary(-ies), traducteur : Thibaut Cuvelier
Les différentes plateformes supportées par Qt ont des lignes directrices différentes pour l'ordre des boutons
dans les boîtes de dialogue. La plus visible différence est l'inversion des boutons OK et Annuler sous Mac OS X
et Gnome, mais il y a bien d'autres différences. Pour s'assurer que les boîtes de dialogue créées avec Qt Designer
aient un air natif sur toutes les plateformes, Qt 4.2 introduit la classe QDialogButtonBox, une couche d'abstraction
de la ligne de boutons, généralement en bas ou à droite.
Création : 22/08/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Avec l'introduction des feuilles de style de Qt, styliser les widgets de Qt est devenu bien plus simple.
Si vous avez uniquement besoin de personnaliser l'apparence d'un widget existant ou de designer un nouveau
style complet à partir de rien, il existe désormais une alternative au sous-classement de QStyle.
Création : 30/08/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Le framework Undo/Redo de Qt, introduit avec Qt 4.2, fournit la possibilité de doter les utilisateurs de vos applications
avec des moyens d'annuler les changements apportés aux documents, tout en fournissant aux développeurs une API facile
à utiliser, basée sur le pattern Command.
Création : 26/05/2009 ·
Mise à jour : 08/07/2010 · 12 commentaires ·
Sur QtCentre, des personnes viennent à nous avec le problème récurrent de l'IHM gelant pendant de longues opérations.
Le problème n'est pas difficile à résoudre, mais vous pouvez le faire de façons différentes, donc j'aimerais présenter
un panel des options possibles qui peuvent être utilisées selon la situation à laquelle vous faites face.
Création : 16/05/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Une fonctionnalité nouvelle et non présentée de Qt 4.5 est les widgets translucides de haut niveau ?
fenêtres dans lesquelles on peut voir au travers. Les applications utilisant la translucidité ?
beaucoup de lecteurs média par exemple ? ont constitué une vue courante des bureaux d'aujourd'hui,
et les demandes au sujet de ce dispositif sont tout à fait communes sur les listes d'adresses de Qt.
Contre toute attente, il n'y a pas beaucoup de kits d'utilitaires à l'extérieur qui supportent
la translucidité de manière multi-plateforme, nous avons donc vu le besoin d'exposer cette fonctionnalité
par le biais de l'écriture de cet article.
Création : 29/08/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Une fonctionnalité de QSyntaxHighlighter très souvent oubliée
ou négligée est sa faculté à lier les données utilisateurs avec
le bloc de texte en coloration. Parmi les nombreuses possibilités
qu'il ouvre pour l'édition de texte avancée, nous avons choisi
le repérage des parenthèses ? qu'un éditeur qui se respecte
ne peut ignorer.
Bien que le but principal de cet article soit d'éclaircir
certaines capacités obscures de QSyntaxHighlighter et de leur
trouver une utilité, il montrera également la manière de les
utiliser dans le but d'ajouter des sélections supplémentaires
dans un QPlainTextEdit.
Le framework Graphics de Qt apporte différents outils permettant d'améliorer
l'interface utilisateur de vos applications en modifiant l'apparence des objets
graphiques et en les animant.
Création : 14/04/2010 ·
Mise à jour : 10/07/2010 · 2 commentaires ·
La classe QDataWidgetMapper, introduite dans Qt 4.2, apporte une interface qui permet d'associer des données à un formulaire. Cette manière d'afficher les données facilite la création d'applications basées sur des registres et permet de modifier l'interface utilisateur avec des outils plus habituels tels que Qt Designer.
Bien que les items de Qt soient capables d'afficher des informations en grande quantité, de nombreuses applications ont tendance à utiliser les registres et les interfaces en formulaires pour présenter les données de façon simplifiée. Parfois, c'est parce que les utilisateurs y sont plus habitués, parfois parce que c'est une conséquence du stockage des données.
L'équipe Qt de Developpez présente régulièrement des nouvelles sur la sortie prochaine de
Qt 4.7, de Qt Quick et du QML. La question légitime que l'on peut se poser est de savoir
ce que vont nous apporter ces nouveautés en pratique. Après tout, ceux qui utilisent Qt savent
créer une interface graphique et n'ont pas besoin, a priori, d'un nouveau langage, certes plus
simple à prendre en main que le C++ mais nouveau quand même, pour faire ce qu'ils font déjà.
Dans cet article, les concepteurs de Qt introduisent comment est venu le besoin de proposer cet
outil : les designers ont besoin de passer par les développeurs pour implémenter les interfaces
qu'ils conçoivent. Cet article présente également ce que peut apporter Qt Quick aux équipes
de développement : redonnner le contrôle direct de
la création de l'interface graphique aux designers et permettre ainsi aux développeurs de se
concentrer sur le partie C++ de l'application. Le tout favorise une meilleure répartition des activités
et l'optimisation du travail en équipe.
Création : 28/06/2010 ·
Mise à jour : 22/08/2010 · Commentez ·
Le module Qt Quick et le langage QML est l'un des ajouts majeurs de Qt 4.7.
Cet article entre en détail sur ce qu'est Qt Quick et le QML, les spécificités
du langage et son interaction avec du code C++/Qt.
Perdu de vue ? par
Rainer M. Schmid, traducteur : Thibaut Cuvelier
Les QUrlOperator fournissent un accès simple et pratique aux fichiers distants, accessibles via
les protocoles FTP ou HTTP.
Apparu dans Qt 3.1, disparu de Qt 4.0, il fournit des interfaces plus directes pour ces protocoles via
les classes QFtp et QHttp.
Cet article va traiter de la manière dont ces classes peuvent donner plus de pouvoir et de contrôle sur
des fichiers et serveurs distants
Création : 15/02/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Les connexions réseaux sécurisées ont deux contraintes.
Premièrement, vous devez être sûr que vous communiquez avec le bon correspondant.
Deuxièmement, vous devez être certain que les données échangées n'ont pas été altérées ou même lues
par une tierce partie ; et, dans le cas où elles ont été lues, qu'elles n'ont pas pu être déchiffrées.
Cette article expose comment créer un client sécurisé avec la librairie OpenSSL et la solution Qt QtSSLSocket
qui prend en compte ces contraintes.
Création : 22/02/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Les classes de réseau de Qt permettent le développement d'applications réseau compliquées, mais certains
Web Services sont toujours assez simples pour être utilisés avec un peu d'imagination et encore moins de code.
Création : 21/08/2009 ·
Mise à jour : 05/07/2010 · 12 commentaires ·
Générer du XML par
Jasmin Blanchette, traducteur : Thibaut Cuvelier
Qt fournit des classes DOM et SAX pour l'analyse du XML, mais n'a pas toujours proposé une classe pour sa génération.
Dans cette article, nous allons développer une classe XmlWriter, basée sur QTextStream.
Nous allons exemplifier son usage avec un générateur de fichiers .ui.
Création : 18/06/2009 ·
Mise à jour : 06/07/2010 · 12 commentaires ·
Ceux d'entre vous qui suivent le développement de Qt auront remarqué la récente introduction d'un module QtXmlPatterns.
Il permet l'utilisation de XQuery dans des applications Qt, avec à la clé diverses manières de sélectionner, d'extraire et d'agréger des données dans des fichiers XML
ou à structure équivalente.
Pour vous donner un avant-goût de ce que QtXmlPatterns peut vous proposer, nous implémenterons un robot Web simple et basé sur Qt qui peut être utilisé pour effectuer
des requêtes XQuery basiques comme le listage d'éléments et la recherche de liens dans des documents HTML. Nous lui ajouterons une interface utilisable
et fournirons ainsi une vue claire du site Web d'entrée, de la requête exécutée et de la sortie générée. Cependant, avant de commencer la construction du robot,
regardons un peu plus en détail XQuery.
Création : 08/10/2010 ·
Mise à jour : 23/10/2010 · 2 commentaires ·
Nous avons vu dans le Qt Quaterly 25 comment effectuer des
requêtes basiques avec XQuery et QtXmlPatterns, ne retournant
que du texte brut. Maintenant, comment récupérer un document
sous forme structurée ? C'est ce que cet article va tenter de
faire.
Création : 23/10/2010 ·
Mise à jour : 04/11/2010 · 2 commentaires ·
Dans l'article précédent, XQuery et la météo, sur l'utilisation de Qt pour les requêtes et le traitement de documents XML, nous avons jeté un ?il aux classes de base du module QtXmlPatterns. Nous avons vu que, avec des requêtes sur le document, nous pouvions récupérer des données utiles sur un document XML d'une manière simple qu'un lecteur XML spécialisé pourrait prendre en charge.
L'apparition de WebKit dans Qt 4.4 ouvre le monde du Web aux applications Qt, en effaçant les frontières entre les
applications traditionnelles et les services en ligne. Dans cet article, nous allons voir une manière d'utiliser cette
approche hybride dans le développement d'applications.
Création : 18/06/009 ·
Mise à jour : 08/07/2010 · 12 commentaires ·
Que vous soyez assis ou non à votre bureau, certains services de localisation et de cartographie disponibles sur Internet peuvent aussi être d'utiles outils de navigation - ou une intéressante distraction.
Qt propose depuis longtemps la possibilité d'afficher des documents
contenant du texte avec mise en forme, par exemple un document HTML.
Mais les utilisateurs peuvent souhaiter d'afficher également du texte
mise en forme provenant de type de document non pris en charge
par défaut par Qt.
Dans cet article, l'auteur présente comment intégrer la bibliothèque
Poppler pour afficher des documents PDF dans des fenêtres Qt, faire
des recherches dans le texte et extraire du texte.
Qt Creator est un environnement de développement intégré,
sans coût, multi-plateformes pour le développement de projets Qt.
Il est disponible sur Linux, Mac OS X et Windows.
Création : 18/03/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Tout comme les librairies comme Qt ne sont pas complètes sans guide
de référence ni de documentation des APIs,
une application dsitribuée doit l'être avec un manuel et
une documentation en-ligne. Dans leur quête d'assistance dans tous
les aspects du développement, les développeurs de Qt fournissent
une solution facilement réutilisable.
Qt 4.4 a introduit tellement de nouvelles fonctionnalités pour une
version mineure, qu'une a échappé à la majorité des utilisateurs.
Le module Qt Help remplace le Qt Assistant des versions précédentes.
Il fournit des mécanismes d'intégration de Qt Assistant dans vos
applications, mais ce n'est pas tout.
Dans cet article, nous allons essayer de couvrir quelques unes de
ces nouveautés du module Qt Help par un exemple. Nous devrons donc
créer une documentation d'API en plus d'une manuel utilisateur.
Création : 19/03/2009 ·
Mise à jour : 10/07/2010 · 12 commentaires ·
Plusieurs modules de Qt permettent d'interpréter du code ayant sa propre grammaire.
C'est le cas par exemple de Qt Script, qui permet d'ajouter des fonctionnalités en
Javascript dans un programme Qt, ou le QML, qui utilise une description des interfaces
utilisateur au format texte.
Pour créer ces modules, les développeurs de Qt utilisent un générateur d'analyseur syntaxique,
QLALR, qui permet de créer du code C++ à partir d'une grammaire. Cette application est peu
documentée et jusqu'à maintenant, il était difficile de l'utiliser pour un utilisateur lambda.
Cet article décrit l'utilisation de QLALR à partir d'un exemple complet et simple, permettant
d'appréhender facilement cet utilitaire.
Pour la gestion de la compilation de projets, Qt est fourni
avec son propre utilitaire : QMake. Cependant, le développeur
peut souhaiter travailler avec d'autres outils, par choix
personnel ou pour répondre à certains besoins. Cet article
présente en détail comment compiler des projets Qt en utilisant
CMake : le processus de compilation, les paramètres de
configuration, la gestion des modules Qt.
Création : 22/08/2010 ·
Mise à jour : 06/09/2010 · Commentez ·
Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).