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
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.
Les exemples sont réalisés sous Python 3.2 avec PyQt 4.7.
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.
Le module QGL de Qt facilite l'intégration de rendu OpenGL dans des applications Qt. Dans cet article, on va montrer comment créer un QGLContext personnalisé qui implémente des fonctionnalités spécifiques non proposées par QGL. On présentera également un exemple simple d'application multiplateforme et multithread avec Qt et OpenGL.
Qt 4.4 introduit une nouvelle classe de gestion de disposition pour des formulaires à deux colonnes (les libellés sur la gauche et les champs d'édition sur la droite). Pour de tels formulaires, QFormLayout dispose de plusieurs avantages par rapport à QGridLayout, notamment le fait d'être multiplateforme et de disposer d'API pertinentes.
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