Soutenez-nous
 
Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Share on Google+ 
Qt Quarterly

Qt Quarterly est une revue trimestrielle électronique proposée par Nokia à destination des développeurs et utilisateurs de Qt. Vous pouvez trouver les versions originales.

Nokia, Qt, Qt Quarterly et leurs logos sont des marques déposées de Nokia Corporation en Finlande et/ou dans les autres pays. Les autres marques déposées sont détenues par leurs propriétaires respectifs.

Numéro 35 : miniature

Numéro 35

  • Page traduite en français Pactole de capteurs

    Beaucoup de périphériques actuels sont bardés de capteurs, pour l'orientation, la localisation... Des jeux peuvent en tirer profit.

  • Page traduite en français Plusieurs interfaces, une même logique

    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...

  • Page traduite en français Services de localisation et de cartographie

    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.

Numéro 34 : miniature

Numéro 34

  • Page traduite en français Requête de données génériques avec XQuery

    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 oeil 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.

  • Page traduite en français Qt Quick sort de la quiétude

    Le module Qt Quick et le langage QML sont deux 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.

  • Page traduite en français Utiliser CMake pour compiler des projets Qt

    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.

Numéro 33

Numéro 33

  • Page traduite en français Les développeurs viennent de Mars, les designers de Vénus

    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 : redonner le contrôle direct de la création de l'interface graphique aux designers et permettre ainsi aux développeurs de se concentrer sur la partie C++ de l'application. Le tout favorise une meilleure répartition des activités et l'optimisation du travail en équipe.

  • Page traduite en français Qt s'associe avec le nouvel OS MeeGo

    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 multimédias. 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.

  • Page traduite en français XQuery et la météo

    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.

  • Page traduite en français Les aventures de QLALR - utiliser QLALR pour générer un parseur pour une aventure textuelle

    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.

  • Page traduite en français Traduction dynamique

    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é.

Numéro 32 : miniature

Numéro 32

  • Page traduite en français Concevoir la prochaine génération d'interface utilisateur multiplateforme avec Qt

    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.

  • Ajouter de nouveaux protocoles à QtWebKit

    Le module QtWebKit présente diverses manières d'intégrer les mondes du desktop natif et des applications mobiles avec le Web, rendant possible l'extension et la combinaison de fonctionnalités de Qt et de WebKit pour en créer de nouvelles. Dans cet article, nous examinerons l'utilisation de l'API réseau de Qt avec WebKit et montrerons comment transformer QWebView en client FTP simple.

Numéro 31 : miniature

Numéro 31

  • Qt Creator revisité

    L'an dernier, nous avons commencé à couvrir le sujet des versions préliminaires de Qt Creator. Entre-temps, le jeune EDI a vu trois versions, et aujourd'hui, les développeurs travaillent d'arrache-pied sur la version 1.3, un aperçu de ce qui est récemment sorti. Dans cet article, nous allons passer en revue Qt Creator et étudier les nouvelles fonctionnalités de la version à venir.

  • Page traduite en français Le repérage des paires de parenthèses avec QSyntaxHighlighter

    Une fonctionnalité de QSyntaxHighlighter très souvent oubliée ou négligée est sa faculté à lier les données utilisateur avec le bloc de texte en cours de coloration. Parmi les nombreuses possibilités qu'il offre 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.

Numéro 30 : miniature

Numéro 30

  • Machines à état hiérarchiquement bornées dans Qt

    Qt 4.6 va ajouter un framework pour la définition et l'exécution de machines à état hiérarchiquement bornées. Les Qt State Machines permettent de modeler efficacement la méthode par laquelle un système donné (un widget, un composant, un processus serveur - n'importe quoi) réagit aux évènements au fil du temps ; ces machines à état sont une extension naturelle du modèle de programmation dirigé par les évènements de Qt. Cet article donne un aperçu des concepts et des fonctionnalités du coeur des Qt State Machines.

  • Développement avec Qt sous S60

    Qt pour S60 est sorti le 25 juin 2009. Cela signifie que vous pouvez maintenant utiliser Qt pour écrire des applications pour un appareil S60. Dans cet article, nous donnons un petit aperçu à travers les particularités de la plateforme S60, et nous montrons comment utiliser Qt dessus de la meilleure façon possible.

  • Page traduite en français Nouvelles façons d'utiliser les boîtes de dialogue

    L'une des nouvelles fonctionnalités de Qt 4.5 est une collection de nouvelles méthodes dans QDialog qui rendent bien plus facile l'utilisation des boîtes de dialogue applicatives, au-delà de la manière classique. Cette collection inclut des fenêtres de dialogue modales (sheets pour Mac OS X) et des boîtes de dialogue de "retour d'informations en live". Cela arrive en conclusion de notre ré-examination des boîtes de dialogue, qui nous a ainsi permis de créer un moyen plus uni de présentation des boîtes de dialogue, et plus de flexibilité dans l'utilisation de dialogues natifs - dans un premier temps sous Mac OS X puis sous les autres plateformes.

  • Conception d'une bibliothèque de référenciation pour Qt

    L'un des buts qu'avait Qt 4.5 était d'améliorer les performances de Qt. Pour nous aider à atteindre cet objectif, nous avons décidé d'étendre QTestLib qui était un support pour la référenciation. Dans cet article, nous allons donner un exemple pratique de la façon d'utiliser cette nouvelle fonctionnalité afin d'utiliser la référenciation dans vos classes et vos applications. Parmi les nombreux candidats pour ce test de référenciation, nous avons sélectionné QVector, et décidé de tester les performances de sa fonction append().

Numéro 29 : miniature

Numéro 29

  • Le générateur Qt Jambi

    Avec l'abondance de langages de programmation existants aujourd'hui, il n'est pas inhabituel de fournir des ensembles d'API dans plus d'un langage. Le framework Qt, par exemple, s'est lié à des langages aussi divers que Python, Ruby et Java.

  • Expérimentations du système d'aide de Qt

    Le système d'aide de Qt vient avec un back-end de recherche textuelle complet, basé sur CLucene. CLucene est le port en C++ de Lucene, un moteur de recherche textuelle de haute performance et débordant de fonctionnalités développé en Java. Précédemment, nous avons écrit notre propre moteur de recherche textuelle pour l'utiliser avec Qt Assistant. Cependant, avec la sortie de Qt 4.4, nous avons commencé à utiliser CLucene pour fournir une solution de recherche totalement autonome.

  • Page traduite en français Widgets translucides dans Qt

    Une fonctionnalité nouvelle et non présentée de Qt 4.5 est les widgets translucides de haut niveau, des 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 multiplateforme, nous avons donc vu le besoin d'exposer cette fonctionnalité par le biais de l'écriture de cet article.

  • Page traduite en français La sortie retentissante de Qt 4.5.0

    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 ont été distribués !

Numéro 28 : miniature

Numéro 28

  • Page traduite en français Qt sur Mac OS X avec Cocoa

    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 64bits 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 possibilités offertes pas ce portage.

  • Page traduite en français Utiliser Qt Help comme une main courante

    Tout comme les librairies telles Qt ne sont pas complètes sans guide de référence ni de documentation des APIs, une application distribué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'un manuel utilisateur.

  • Page traduite en français Coup de projecteur sur Qt Creator, l'EDI multiplateforme

    Qt Creator est un environnement de développement intégré, sans coût, multiplateforme pour le développement de projets Qt. Il est disponible sur Linux, Mac OS X et Windows.

Numéro 27 : miniature

Numéro 27

  • Page traduite en français Poppler : afficher des fichiers PDF avec Qt

    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 mis 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.

  • Page traduite en français L'architecture en pile de panneaux

    Lorsqu'on cherche des choses à propos de Qt pour Linux embarqué, on arrive sur de nombreux exemples de la presse du net qui se relient à des gadgets médias, des applications de téléphone portable et d'autres applications graphiques. Un point, bien moins traité, se situe dans les panneaux de contrôle, utilisés pour l'automatisation ménagère, les machines industrielles et les systèmes d'alarme.

  • Page traduite en français Conserver la réactivité de l'IHM

    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, j'aimerais donc présenter un panel des options possibles à utiliser selon la situation à laquelle vous faites face.

  • Page traduite en français Écrire des fichiers ODF avec Qt

    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.

Numéro 26 : miniature

Numéro 26

  • Coloration syntaxique adaptative

    Une fonctionnalité présente dans la plupart des applications textuelles est l'utilisation de la coloration syntaxique. Des éditeurs de code source aux parseurs d'expressions et logiciels mathématiques, toutes sortes de logiciels offrent la possibilité d'assigner des couleurs différentes à des classes différentes de termes. Dans cet article, on poussera la fonctionnalité un peu plus loin : la machine choisira elle-même les couleurs.

  • Page traduite en français Concevoir des widgets personnalisés avec PyQt

    L'une des fonctionnalités cachées de PyQt est sa capacité à utiliser des widgets personnalisés des plug-ins pour Qt Designer, en utilisant des modules écrits en Python pur. Non seulement cela ouvre des perspectives intéressantes pour les développeurs Python, cela autorise aussi les développeurs et designers à expérimenter le prototypage rapide sans la charge de créer des bibliothèques partagées pour des plug-ins.

  • Page traduite en français Connexion au Web

    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 locales 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.

  • Accélérer les widgets avec OpenGL

    Qt 4.4 a introduit une fonctionnalité très puissante : tout dérivé de QWidget peut être mis dans une QGraphicsView. Il est maintenant possible d'embarquer des widgets ordinaires dans un QGLWidget, une fonctionnalité qui manquait dans le support d'OpenGL. Dans cet article, on montrera comment utiliser QGraphicsView pour placer des widgets dans une scène rendue avec les commandes standard d'OpenGL.

Numéro 25 : miniature

Numéro 25

  • Page traduite en français Utilisation d'Undo/Redo avec les vues

    Le module 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 patron de conception Command.

  • Page traduite en français De retour en forme avec QFormLayout

    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.

  • Page traduite en français Requêtes sérieuses avec XQuery

    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.

Numéro 24 : miniature

Numéro 24

  • Les layouts textuels de bas niveau

    L'un des bénéfices cachés du framework de texte riche de Qt est le contrôle qu'il donne au développeur sur les aspects de bas niveau d'un layout textuel. Bien qu'initialement utilisées pour promouvoir les capacités du formatage du texte simple de Qt 4, les classes qui effectuent une grosse part de la lourde tâche de lifting au nom de QTextDocument peuvent aussi être mises sur d'autres tâches. Dans cet article, nous verrons comment elles peuvent rendre nos layouts textuels plus intéressants.

  • Sur la piste des scripts d'application

    Avec l'introduction de Qt Script en tant que fragment standard de Qt dans sa version 4.3, les développeurs d'applications Qt/C++ ont une solution d'intégration transparente pour scripter leurs applications. Qt Script est simple, mais néanmoins une méthode puissante de fournir aux auteurs de scripts, qui ne connaissent pas forcément le C++, une interface pour travailler dans le contexte de votre application Qt. Dans cet article, nous donnerons un aperçu des étapes principales impliquées lors de l'embarcation de Qt Script dans une application, et nous utiliserons un petit exemple pour faire l'étalage des techniques-clés.

  • Page traduite en français L'accessibilité dans Qt

    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). Dans cet article, nous allons implémenter un support pour l'accessibilité pour un widget personnalisé. Nous allons aussi jeter un oeil au support pour les outils externes dans les applications Qt d'aujourd'hui. Le terme général pour la fourniture d'un support pour des outils d'accessibilité est AT, pour Assistive Technology. Il couvre, et les outils (les clients), et les applications (les serveurs). Bien que les serveurs puissent coopérer avec les clients directement, habituellement, une technologie séparée les relie pour échanger des infos. L'accessibilité, dans Qt, se montre principalement dans le support de telles technologies. D'autres fonctionnalités peuvent être implémentées par les applications. Par exemple, l'utilisation d'un design universel, qui intègre l'accessibilité dans le processus de design logiciel, ce qui n'est pas fréquent pour des outils de design logiciel.

  • Conception de représentants

    L'une des fonctionnalités les plus intéressantes de Qt 4 est son framework modèle/vue. Cela fournit aux développeurs un maximum de flexibilité dans la méthode par laquelle les listes, les tableaux et les arbres d'éléments sont affichés à l'utilisateur. Bien qu'il soit possible de créer des modèles et des vues personnalisés dans le but de présenter des données d'une manière particulière, cet article va plutôt se focaliser sur une approche plus aisée de l'utilisation des représentants personnalisés.

Numéro 23 : miniature

Numéro 23

  • Page traduite en français Embarquer de Python dans les applications Qt

    Les langages de script embarquées dans les applications C++ sont devenus très classiques. Aux côtés de bien des produits au courant dominant, comme Microsoft Office et Macromedia Director, il y a une tendance croissante pour les applications plus petites et plus spécialisées d'offrir la possibilité de scripting aux utilisateurs.

  • Page traduite en français Le réseau sans configuration dans Qt

    Bonjour est l'implémentation d'Apple d'une mise en réseau sans configuration (Zeroconf), qui permet à de diverses applications de promouvoir leurs services dans le cadre d'un réseau local. L'utilisation de Bonjour simplifie énormément la recherche et l'utilisation des services réseau. Dans cet article, nous allons créer des objets Qt qui vont gérer les différentes parties de Bonjour, puis nous verrons comment nous pouvons utiliser ces objets dans quelques exemples réseau de Qt.

  • Les parfaits pixels de Mac + Plastique

    Apple fournit des spécifications détaillées de la manière par laquelle les applications Mac OS X devraient ressembler et se comporter. Un aspect de ces spécifications est l'espace qui doit être utilisé entre les widgets d'un formulaire. Pour des raisons esthétiques, Apple nécessite l'utilisation de diverses valeurs pour de différents widgets. Arrivant avec Qt 4.3, les systèmes de layouts et de styles interagissent pour prendre cela en compte, plutôt qu'une valeur centriste. Le résultat ? Les boîtes de dialogues ont une apparence parfaite sous Mac. Ayant uniquement vu la lumière, nous nous sommes rués sur le style par défaut de X11, Plastique, pour tenter de faire la même chose.

  • Page traduite en français Utiliser un service Web simple avec Qt

    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.

Numéro 22 : miniature

Numéro 22

  • Les moniteurs et les conditions d'attente dans Qt (partie 2)

    Dans les précédents problèmes soulevés par Qt Quarterly, nous avons vu comment synchroniser les threads en utilisant des moniteurs, un mécanisme de synchronisation de haut niveau. Nous avons également passé en revue le code de deux exemples, BankAccount et BoundedBuffer, qui montraient comment implémenter des moniteurs utilisant QMutex et QWaitCondition. Dans cet article, nous allons cette fois-ci passer en revue quelques techniques fondamentales utilisées pour développer des moniteurs encore plus puissants que ceux présentés précédemment.

  • Conception d'éditeurs visuels dans Qt

    Aujourd'hui dans le monde, la plupart des logiciels scientifiques et de visualisation sont conçus pour être construits à partir de deux scénarios séparés : un frontend visuel et un back-end solveur. Le backend du solveur se spécialise dans la résolution d'un problème dans un domaine spécifique, il peut être difficile d'interagir avec lui, tandis que le frontend visuel remplace l'interaction de l'API avec une interaction graphique au retour rapide d'informations que la plupart des utilisateurs utilisent avec aisance.

  • Les assistants réapparaissent comme par magie

    Après avoir disparu dans un nuage de fumée avec l'introduction de Qt 4, QWizard fait de nouveau partie de Qt. QWizard et son nouvel apprenti, QWizardPage, ont passé la plupart de leur temps dans les Qt 4 Solutions et sont désormais chargés avec de nouvelles fonctionnalités qui vont rendre au développeur l'utilisation de l'assistant plus simple que jamais.

Numéro 21 : miniature

Numéro 21

  • Page traduite en français Widget de correspondance de données

    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.

  • Les moniteurs et les conditions d'attente dans Qt (partie 1)

    Les moniteurs ont été introduits dans les années 1970 en tant qu'outil de haut niveau de synchronisation de threads. En utilisant les moniteurs, nous pouvons donner plus de structure à nos programmes multithreadés, minimisant les risques associés aux threads et aux situations de compétition. Dans cet article, je vais dans un premier temps expliquer ce que les moniteurs sont et comment les écrire en utilisant Qt ; alors, je vais montrer comment les utiliser pour résoudre le problème de lien de buffer (ou lien producteur-consommateur). Dans l'article suivant, j'en dirai plus sur les techniques impliquant les moniteurs et montrerai en quoi ils se réfèrent aux sémaphores.

  • Page traduite en français La coloration syntaxique dans QTextEdit

    L'utilisation appropriée des couleurs et des polices pour effectuer la coloration syntaxique des différents éléments des langages markups et de programmation aide le cerveau à assimiler les structures de documents. Par la signalisation des erreurs de syntaxe, la coloration syntaxique interactive aide également à réduire le temps passé dans le cycle "compilation, exécution, test". La coloration peut également être utilisée pour signaler les fautes d'orthographe dans les documents textuels. Avec Qt, l'ajout d'une coloration syntaxique dans un QTextEdit est très simple, et c'est ce que l'article va démontrer.

Numéro 20 : miniature

Numéro 20

  • Sautons sur le D-Bus

    Si vous êtres sur un système GNU/Linux, les chances sont hautes qu'une conversation vivifiante se produise sur votre bureau. D-Bus, le bus système de messagerie de freedesktop.org est actuellement le standard de la communication bureautique. Il offre un moyen simple aux applications de discuter entre elles, et intègre bien les divers frameworks, kits d'outils et langages.

  • Embarquer des HIViews dans les applications Qt/Mac

    À la différence des versions précédentes de Qt, Qt 4 pour Mac OS X est fait au sommet des API HIToolbox qui forment l'interface moderne d'Apple, Carbon. Cela signifie que Qt peut interagir avec d'autres API HIToolbox afin de profiter de fonctionnalités supplémentaires. Nous allons regarder cela en montrant comment intégrer HIViews à l'intérieur d'une application Qt.

  • À la rencontre de Qt Jambi

    Allons voir Qt Jambi, une technologie pour le moment à l'état de prototype, qui donne des possibilités aux développeurs Java avec un framework de développement multiplateforme de haute performance. Qt Jambi rend les bibliothèques C++ de Qt disponibles à la communauté Java. Comparé à d'autres frameworks Java comme Swing et SWT, Qt Jambi a un API intuitif et puissant.

  • Page traduite en français Des apparences personnalisées utilisant les feuilles de style

    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 concevoir un nouveau style complet à partir de rien, il existe désormais une alternative au sous-classement de QStyle.

Numéro 19 : miniature

Numéro 19

  • Page traduite en français Les formes du pluriel dans les traductions

    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.

  • Page traduite en français Réordonner les boutons

    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 différence la plus visible 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.

  • Une meilleure toile

    Qt 4.2 introduit Graphics View, un nouveau framework pour la gestion d'un large nombre de formes graphiques dans une toile 2D. Cette technologie donne une utilité complète à l'architecture du moteur de peinture de Qt 4, et consiste en un remplacement de QCanvas de Qt 3. L'API Graphics View est très similaire à QCanvas, rendant simple le portage d'un code existant basé sur QCanvas vers l'utilisation des vues graphiques.

Numéro 18 : miniature

Numéro 18

  • Page traduite en français Déployer dans le Bazaar

    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.

  • Page traduite en français La reconnaissance des gestes de souris

    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.

  • Le framework Property Browser

    La version de Qt Solutions la plus récente inclut la solution Property Browser, un framework fournissant un ensemble d'éditeurs graphiques pour les propriétés Qt, similaire à celui qui est utilisé dans Qt Designer.

  • Page traduite en français Fonctionnalités spéciales Qt/Mac

    Bien que Qt soit conçu pour rendre le développement d'applications multiplateformes plus simple pour les utilisateurs sous toutes les plateformes supportées, cela ne signifie pas que nous fournissons uniquement des propriétés qui sont communes à toutes les plateformes. Là où c'est possible, nous utilisons des fonctionnalités spécifiques aux plateformes avec des moyens qui s'harmonisent avec notre API multiplateforme et c'est particulièrement le cas pour Qt/Mac.

Numéro 17 : miniature

Numéro 17

  • Implémentation d'un contrôle TCP de trafic

    Le contrôle TCP de trafic (aussi connu sous les noms de "rate control" et "traffic throttling") correspond à la gestion de la bande passante réseau disponible à votre application. Cela signifie limitation du nombre de connexions concurrentes ainsi que les ratios de chargement et de téléchargement pour chaque connexion.

  • Page traduite en français Écrire un plugin pour QImage

    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.

  • Page traduite en français Bibliothèques et plug-ins

    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.

  • Modes de composition

    Ces dernières années ont vu passer des grandes améliorations dans le matériel graphique informatique, rendant possible pour les développeurs d'ajouter des fonctionnalités graphiques avancées dans leurs applications, comme les modes de composition et la transparence partielle, précédemment uniquement utilisés dans les applications graphiques spécialisées.

Numéro 16 : miniature

Numéro 16

  • Les effets de disparition avec Qt 4.1

    Le soutien de stockage de Qt 4.1 rend plus simple l'implémentation d'effets de transparence que dans les versions précédentes de Qt. Dans cet article, nous allons combiner un canal alpha avec un timer et obtenir de jolis résultats qui peuvent rendre une interface attractive sans pour autant distraire l'utilisateur.

  • Signaux et slots dynamiques

    Les signaux et les slots sont déclarés au moment de la compilation et, théoriquement, vous ne pouvez pas ajouter des nouveaux signaux et slots à un métaobjet lors de l'exécution. Dans quelques situations, il est pratique d'étendre un métaobjet quand l'application est en cours d'exécution pour obtenir une introspection et un appel de fonction réellement dynamique.

  • Les outils tiers de test automatisé

    Dans la précédente revue de Qt Quarterly, nous avons présenté la QtTestLib, le framework léger de test unitaire de Trolltech pour Qt 4. Nous allons aujourd'hui passer en revue KD Executer et Squish, deux puissants outils commerciaux qui vous permettent de créer des GUI sophistiquées de test automatisé, améliorant la qualité de vos applications et réduisant le prix des tests sur une exécution à long terme.

  • Extension de Qt Designer

    La version de Qt 4 incorpore un nouveau Qt Designer, multicomposants. L'une des principales idées derrière la nouvelle version de Qt Designer était de fournir à l'application une collection de composants interchangeables. Il est complété par le module QtDesigner, une bibliothèque que vous pouvez utiliser pour écrire des plug-ins et des extensions pour Qt Designer, comme le montrera cet article.

  • Arrière-plans transparents dans Qt 4.1

    Qt 4.1 améliore radicalement le dessin des widgets à travers son nouveau "soutien de stockage", permettant la semi-transparence (fusion-alpha) des widgets enfants et la peinture plus rapide des widgets, résolvant des problèmes de longue date concernant les widgets non rectangulaires.

Numéro 15 : miniature

Numéro 15

  • Page traduite en français Algorithmes génériques de Qt

    Qt fournit un ensemble d'algorithmes (utilisant les templates) correspondant aux plus utiles de la STL depuis la version 2. Dans cet article, nous allons voir quelques-uns des algorithmes présentés dans l'en-tête de Qt 4.

  • Page traduite en français Les modèles de données : tables SQL vs bases de données orientées texte

    Les classes de vue d'éléments de Qt 4 rendent plus simple la présentation de données en provenance de sources de données différentes, incluant les bases de données SQL, notamment. Ces classes utilisent une approche modèle/vue, si bien que dans cet article, nous allons présenter une vue qui peut être peuplée avec des données en provenance d'une table SQL ou bien d'un modèle de base de données orientée texte.

  • Solutions académiques aux problèmes académiques

    L'outil moc et QObject ajoutent de la flexibilité et de la puissance au langage C++. Ils ajoutent, en plus d'autres choses, le paradigme de signaux et de slots et le mécanisme de gestion de mémoire de QObject. Les deux sont extrêmement puissants si bien que, de temps à autre, nous aimerions les utiliser dans les classes templates et dans la conjonction avec un héritage multiple.

Numéro 14 : miniature

Numéro 14

  • Les améliorations multithreadées de Qt 4

    Qt fournit un API portable pour la création et la synchronisation des threads depuis la version 2.2 et offre l'option de la génération de la bibliothèque Qt avec ou sans support des threads. Avec l'émergence des ordinateurs dotés de multiples processeurs, la programmation multithreadée a rapidement gagné en popularité. Un récent sondage nous a informés que 50 % des licences achetées utilisent les threads dans leurs applications.

  • Rassemblement des types personnalisés avec Qt 4

    Qt utilise moc, le compilateur de métaobjets, afin de récupérer des informations concernant les classes personnalisées. Cette information est utilisée pour les signaux et les slots, et rend possible l'introspection dans les applications Qt. Avec Qt 4, trois nouvelles fonctionnalités - l'appel dynamique des slots, les files de signaux et le support des types personnalisés - ont nécessité d'étendre le support de Qt de l'information métatype.

  • Les pointeurs intelligents dans Qt 3 et dans Qt 4

    Les pointeurs intelligents sont des pointeurs qui sont automatiquement définis à 0 quand l'objet sur lequel ils pointent est supprimé. Cela signifie qu'il est toujours sécurisé d'effectuer un "if (p)" avec un pointeur intelligent. Cet article donne un exemple d'utilisation des pointeurs intelligents et surligne la différence entre les implémentations sous Qt 3 et 4.

  • L'évolution de Qt Designer

    Qt Designer, fourni avec Qt 4.0, contient de nombreuses fonctionnalités qui font de lui le moyen le plus simple et le plus rapide de concevoir des formulaires. Dans cet article, nous allons jeter un oeil à l'histoire de Qt Designer et à certaines des nouvelles fonctionnalités et décisions de conception de Qt 4.0.

  • Raccourcis claviers dynamiques

    Bien des applications modernes permettent à leurs interfaces utilisateur d'être personnalisées en permettant à leurs utilisateurs d'assigner des raccourcis clavier, de déplacer les éléments des menus et d'affiner l'apparence des barres d'outils. En alliant le modèle objet de Qt avec le système d'actions, nous pouvons fournir quelques-unes de ces fonctionnalités de personnalisation dans un simple éditeur d'actions qui peut être intégré dans les applications Qt 3 existantes.

Numéro 13 : miniature

Numéro 13

  • L'API QStyle dans Qt 4

    Les applications Qt sont dotées d'une apparence native pour chaque plateforme, soit par l'émulation du style natif, soit par l'utilisation des moteurs de thématique des systèmes. Depuis la version 2.0, Qt vous permet également de personnaliser l'apparence par le biais de son API sophistiquée de stylisation, une fonctionnalité qui est particulièrement utile pour la version Qt/Embedded, les appareils mobiles nécessitant couramment des interfaces utilisateurs personnalisées.

  • Générations plus rapides avec Teambuilder

    Pour augmenter la vitesse de compilation, bien des utilisateurs de Qt - les développeurs de Trolltech également - utilisent le produit Teambuilder de Trolltech pour partager le chargement de la génération à toutes les machines Unix présentes dans le réseau local. Dans cet article, nous allons effectuer quelques allusions à la façon d'utiliser Teambuilder jusqu'au maximum de ses capacités.

  • Conception d'API C++ inspirées de Qt

    Nous avons fait des recherches substantielles chez Trolltech au sujet de l'amélioration de l'expérience de développement de Qt. Dans cet article, j'ai envie de partager certaines de nos trouvailles en présentant les principales, utilisées lors de la conception de Qt 4, et de vous montrer comment les appliquer dans votre code.

  • Les boîtes de dialogue automatiques

    Cet article montre comment maintenir des ensembles "d'attributs" (des valeurs de QVariant), et comment permettre aux utilisateurs de les voir et de les éditer en utilisant des boîtes de dialogue qui sont créées dynamiquement, basées sur les attributs et leurs types.

Numéro 12 : miniature

Numéro 12

  • Page traduite en français Écrire un périphérique personnalisé d'E/S

    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 QTextStream ou QDataStream. Finalement, nous verrons quelles améliorations QIODevice peut nous apporter.

  • Le nouveau style d'itérateurs de Qt 4

    Qt 4 introduit un nouveau type d'itérateurs, inspirés par les itérateurs de Java. Dans cet article, nous allons commencer par passer en revue les itérateurs du vieux style présenté par la STL, ainsi que les principaux problèmes associés avec leur usage. Alors, nous allons faire une présentation des itérateurs Qt à la Java.

  • Page traduite en français Optimisation avec QPixmapCache

    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.

  • Mac OS X : gestion des événements Apple

    Les événements Apple forment un mécanisme de communication interprocédurale de haut niveau sous Mac OS X. Ils sont également la colonne vertébrale d'AppleScript, le langage de script de Mac OS X. Nous allons voir dans cet article comment ajouter le support de ces fonctionnalités à une application Qt/Mac.

Numéro 10 : miniature

Numéro 10

  • Implémenter une architecture modèle-vue-contrôleur

    Qt 4 utilise le pattern MVC pour ses classes de vue d'éléments (QListView, QTable, etc.). Cependant, MVC, c'est plus qu'un simple pattern pour les vues d'items : il peut être utilisé en toute généralité comme un moyen de conserver différents widgets synchronisés. Dans cet article, on verra comment l'appliquer, en prenant appui sur le mécanisme de signaux et de slots.

  • Scripter Qt

    Cet article couvre divers aspects du scriptage d'applications Qt. Il y a deux approches communes : écrire toute l'application dans un langage de script au lieu du C++ ou étendre, automatiser ou personnaliser une application Qt/C++. Cet article se concentre sur la seconde.

  • Page traduite en français Connexions sécurisées avec QtSSLSocket

    Les connexions réseau 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.

  • Page traduite en français Connecter plusieurs signaux à un seul

    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.

  • Page traduite en français Déploiement d'applications sur Windows

    Cet article est la deuxième partie d'une trilogie concernant le déploiement d'applications Qt sur différentes plateformes. Cette fois-ci, nous nous focaliserons 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.

Numéro 9 : miniature

Numéro 9

  • Déblocage réseau

    Les applications GUI qui sont des applications clientes ne devraient jamais geler pendant les opérations réseau. Cet article compare deux différents moyens de maintenir une interface utilisateur réseau cliente répondante et fluide en utilisant la classe QSocket non bloquante et utilisant la classe bloquante QSocketDevice dans un thread séparé.

  • Aperçu de Qt Solutions

    Trolltech fournit des composants et des outils spécifiques de la marque et de la plateforme, aussi bien qu'un composant de pointe trop récent pour s'inclure directement dans Qt, pour la licence Qt Entreprise, connu en tant que Qt Solutions. Nous espérons sortir ces nouveaux composants ce trimestre. Dans cet article, nous allons passer en revue les composants qui ont jusqu'à maintenant été disponibles. Consultez www.trolltech.com/products/solutions/ régulièrement pour rester à jour sur les dernières nouveautés.

  • Déploiement d'applications sous Mac OS X

    Ce jour est finalement arrivé. Après de nombreuses heures, les fonctionnalités sont implémentées, le code est optimisé, les tests sont faits : l'application est prête à quitter vos bras et votre tête pour partir à la conquête du monde réel. Cet article est le premier d'une série de trois articles couvrant le sujet du déploiement d'applications Qt sous de diverses plateformes. Ce premier se focalise sur Mac OS X.

  • Questions et réponses à propos du look'n'feel

    Cet article fournit des réponses à des questions fréquemment posées à propos de l'apparence des widgets de Qt. En particulier, nous allons voir comment sous-classer QStyle pour personnaliser l'aspect des widgets présents avec Qt et comment utiliser les filtres d'évènements pour faire de la peinture au nom d'un autre widget.

  • Page traduite en français Un navigateur de fichiers basé sur une QListBox

    Cet article présente FileBrowser, une sous-classe de QListBox grâce à laquelle l'utilisateur navigue dans ses répertoires et fichiers. Par rapport à QFileDialog, qui s'ouvre dans une fenêtre modale, le widget FileBrowser peut s'embarquer dans la fenêtre principale ou dans une boîte de dialogue d'une application, ce qui peut donner un avantage pour la navigation.

Numéro 8 : miniature

Numéro 8

  • Un multiplexeur de signaux

    Les applications qui permettent à l'utilisateur d'ouvrir de multiples documents, éventuellement de types différents, doivent assurer que l'interface utilisateur est adaptée au document, avec les bonnes options de menu et les boutons de la barre d'outils activés ou désactivés de manière appropriée. Pour les applications volumineuses avec de nombreuses actions, le risque existe d'oublier d'actualiser toutes les actions relevantes lorsque l'utilisateur change les documents. Cet article présente une abstraction qui peut résoudre ce problème : un multiplexeur de signaux.

  • Fourniture d'une aide sensible au contexte

    Qt offre bien des manières de fournir une aide en ligne. Cela inclut les bulles d'aide, les messages "Qu'est-ce que c'est ?", et l'accès à des programmes d'aide dédiés comme Qt Assistant. De temps en temps, nous souhaitons fournir plus d'aide sur un widget particulier qui peut s'interpoler confortablement avec une bulle d'aide ou un message "Qu'est-ce que c'est ?", et nous voulons amener l'utilisateur à l'aide relevante sans le forcer à chercher ou à faire défiler pour la trouver. La solution est de fournir une aide sensible au contexte à ce widget.

  • L'exposition des enfants des MDI

    Qt fournit un support pour les MDI (Interface multiple de documents) à travers son widget QWorkspace. L'espace de travail fournit deux stratégies pour l'exposition de ses widgets enfants. Dans cet article, nous allons voir comment c'est facile d'ajouter des stratégies d'exposition à QWorkspace.

  • Page traduite en français FAQ sur l'internationalisation

    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.

  • Page traduite en français Champs et formulaires

    Les formulaires qui possèdent de nombreux éditeurs linéaires utilisent généralement un layout de grille avec des libellés dans la première colonne et des éditeurs linéaires dans la seconde. Cela semble attractif, à l'exception que les champs qui ne peuvent accepter qu'une petite quantité de texte, par exemple un ou deux caractères, sont présentés avec la même longueur que les champs qui peuvent contenir une longue ligne de texte. Cela prive les utilisateurs de l'avertissement visuel que fournissent des longueurs proportionnelles. Cet article fournit une solution simple.

  • Les listes d'éléments fantaisistes

    La classe de vue de liste de Qt fournit des vues de listes et d'arbres, et possède la capacité requise à la gestion d'une large quantité de données. Mais à l'extérieur de la boîte, on peut juste avoir une couleur de fond et une police pour tous les éléments. Cela s'applique également au widget de boîte de liste de Qt. Dans cet article, nous présentons la sous-classe d'une boîte de liste d'éléments et une sous-classe de vue de liste qui peuvent personnaliser les polices et les couleurs de fond.

Numéro 7 : miniature

Numéro 7

  • Une table modèle-vue pour de grands sets de données

    Cet article montre comment gérer de grands sets de données avec QTable en utilisant une approche modèle-vue et sans utiliser QTableItems. Le modèle-vue signifie que seules les données que l'utilisateur peut voir sont récupérées et tenues en mémoire. Cette approche rend aussi facile de montrer le même set de données dans différentes tables sans dupliquer de données.

  • Personnaliser pour complétion

    QTexteEdit peut être utilisé pour fournir un éditeur de texte simple dans une application. Cette classe fournit beaucoup de fonctionnalités dès le début, mais elle ne fournit pas la complétion automatique. Dans cet article, on présentera un dérivé de cette classe qui fournit la complétion et montre comment utiliser et améliorer les fonctionnalités de QTextEdit.

  • Implémenter un calendrier en popup

    On doit souvent contraindre l'entrée de l'utilisateur pour des widgets particuliers. Qt fournit de nombreuses manières de le faire, mais, pour certains types de données plus complexes, on pourrait vouloir fournir une méthode de sélection de la valeur qui laisse l'utilisateur choisir une valeur valide dans une petite boîte de dialogue. Dans cet article, on présente un petit calendrier qui montre les techniques à mettre en oeuvre.

Numéro 6 : miniature

Numéro 6

  • Boîtes de dialogue sur plusieurs pages

    Les boîtes de dialogue sur plusieurs pages présentent l'information sur les pages superposées à l'écran, ainsi une seule page est visible à la fois. Cet article montre deux sortes de telles boîtes de dialogue et explique comment obtenir un redimensionnement automatique de la boîte quand une nouvelle page est rendue visible.

  • Un coup d'oeil à la troisième dimension

    Le module QtOpenGL de Qt rend facile l'intégration de rendu OpenGL dans des applications Qt. Dans cet article, on va montrer comment créer un QGLContext personnalisé qui peut utiliser les fonctionnalités spécifiques à l'implémentation qui ne sont pas couvertes par l'abstraction QGL. On présentera aussi un exemple simple d'une application Qt OpenGL multiplateforme et multithreadée.

  • Rapide et sans oscillation

    La plupart des applications Qt sont écrites avec les widgets standard. Parfois, cependant, aucun de ces widgets ne convient, il est donc nécessaire d'écrire un widget personnalisé. Ce n'est pas dur à réaliser, particulièrement quand on commence avec un QWidget, QFrame ou QScrollView et qu'on réimplémente paintEvent() ou drawContents(). Un problème commun qui peut affliger bon nombre de widgets personnalisés est le vacillement. On va voir pourquoi il apparaît et comment l'éviter.

  • Page traduite en français Communications longue distance avec QFtp et QHttp

    Les deux classes QHttp et QFtp, bien que toujours supportées, ne sont plus recommandées, depuis Qt 4.4 : on leur préfère désormais QNetworkAccessManager.

Numéro 5 : miniature

Numéro 5

  • Achtung! Données binaires et caractères

    Les classes QString, QCString et QByteArray de Qt sont des solutions pour les vieux et limités tableaux de caractères. Leur utilisation correcte peut accélérer des applications, les rendre plus petites et moins sensibles aux plantages. QString apporte aussi l'internationalisation d'Unicode ; les classes QDataStream et QTextStream rendent les lectures et écritures portables faciles. Cet article explique comment bénéficier de ces avantages.

  • Bases de l'iconographie

    Les icônes sont une des caractéristiques principales de toute interface graphique moderne (GUI). Avec la venue du support des collections d'images de Qt Designer dans Qt 3.0 et la réécriture totale de QIconSet dans Qt 3.1, il est temps de rafraîchir vos connaissances sur les différentes approches de la génération et du stockage d'images.

  • Page traduite en français Générer du XML

    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 cet 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.

Numéro 4 : miniature

Numéro 4

  • Nager dans les splash screens

    La plupart des grandes applications utilisent des splash screens pour fournir un retour utilisateur, aussi un espace de publicité. Même s'il paraît être un simple hack graphique, il y a quelques problèmes à considérer lors de l'ajout d'un tel écran, pour éviter d'empêcher les utilisateurs d'accéder à votre programme.

  • Page traduite en français Qt 3.1 et SQL

    Dans la première partie de cet article, on jettera un coup d'oeil à la nouvelle syntaxe de lien pour simplifier le passage de données Unicode et binaires. Dans la deuxième, on verra comment faciliter le déploiement d'applications assises sur des bases de données. La troisième décrit une solution de rechange aux DSN ODBC.

  • Échange hauteur contre largeur

    Depuis la sortie de Qt 2.0, les dispositions (layouts) sont devenues une partie importante de la programmation avec Qt. Ces dispositions débarrassent le développeur des spécifications des positions de tous les widgets et donnent au final des formulaires plus attractifs. Cet article présente un des problèmes qui peuvent survenir lors de l'utilisation de ces dispositions et pour lequel aucune solution parfaite n'existe : l'échange de hauteur contre de la largeur. Il présente aussi le code source d'un widget Aquarium.

Numéro 3 : miniature

Numéro 3

  • ActiveX sous contrôle

    La technologie COM de Microsoft permet à des applications et à des bibliothèques d'utiliser des composants fournis par des serveurs de composants et d'être eux-mêmes des serveurs de composants. ActiveX se base sur cette technologie et définit un set d'interfaces pour le client et le serveur. Cet article introduit le nouveau framework ActiveQt, qui fournit les modules QAxContainer et QAxServer du port Windows de Qt 3.1.

  • Dialogue d'extension

    Un dialogue d'extension est un dialogue avec deux apparences différentes : une apparence simple et une plus élargie. Ces dialogues fournissent une manière de cacher les options avancées des utilisateurs lambda sans restreindre les utilisateurs plus avancés. Créer ces dialogues avec Qt et Qt Designer est assez rapide.

  • Comment trouver et contrôler des enfants (ou Big Brother)

    La relation parent-enfant entre QObject est au coeur de Qt. Son essence est la possession : quand le parent est supprimé, ses enfants, les enfants de ses enfants et ainsi de suite jusqu'à la dernière génération sont aussi supprimés. Pour des widgets, la relation parent-enfant signifie souvent aussi que l'enfant est affiché dans la zone du parent.

  • Page traduite en français Un tr() oublié ?

    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.

Numéro 2 : miniature

Numéro 2

  • Partage de données avec des classes

    Le partage de données (aussi COW, copy on write) est utilisé dans tout Qt pour combiner l'efficacité en mémoire et en vitesse des pointeurs avec la facilité d'utilisation des valeurs brutes. Cet article explique comment écrire sa propre classe à données partagées. Les deux techniques sous-jacentes au partage de données - d-pointeurs et comptage de références - sont aussi utiles dans bien d'autres contextes.

  • Oeufs de Pâques

    Qt dispose d'un système très flexible et puissant d'événements. Dans cet article, on l'utilisera pour cacher un oeuf de Pâques dans une application.

  • QtScript : fun, rapide et flexible

    Qt Script for Applications (QSA) est un set d'outils pour créer des applications C++ scriptables. QSA fournit un interpréteur pour Qt Script, un langage dérivé de ECMAScript (JavaScript). Des programmes Qt Script peuvent accéder à toute l'API Qt et à toute partie de l'API d'une application que les développeurs choisissent de rendre disponible aux utilisateurs.

Numéro 1 : miniature

Numéro 1

  • Page traduite en français Trier des QListView

    Le widget QListView fournit des vues, et de listes, et d'arborescences. La classe fournit un tri par n'importe quelle colonne respectant l'encodage 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.

  • Page traduite en français Le très bizarre QRegExp

    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.

  • Page traduite en français Abusons de QMap

    La classe QMap 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.

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt Quarterly
Copyright © 2014 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

PlanetHoster
Ikoula