Dernière mise à jour : 02/04/2012 - 9 articles
QML
-
Quelques trucs et astuces assez simples permettent d'améliorer les performances de QML, les voici résumés dans un article.
-
La plupart des exemples QML actuels sont exclusivement écrits en QML et JavaScript, probablement pour les garder simples. Cependant, dans une application réelle, pour des raisons de performances, il est recommandé d'écrire autant de code que possible en C++ et de n'utiliser QML que pour l'interface utilisateur. Au final, il est important de savoir comment utiliser un modèle C++ en QML.
QML ne fournit de support direct que pour les modèles de liste pour le moment (comme QAbstractListModel, à cause des vues actuellement supportées (ListView, GridView...).
Le but de cet article est de montrer une manière facile d'utiliser un modèle de liste en C++ en QML au lieu d'un modèle QML comme ListModel.
-
Au lancement d'une application sur un périphérique mobile, il est souvent utile de détecter l'orientation de l'écran pour adapter la disposition visuelle. Malheureusement, QML n'est pas encore capable de détecter cette orientation lui-même. Cet article explique comment utiliser l'API de capteurs de QtMobility (Sensors) en QML.
-
Bien que ce cas d'imbrication puisse sembler rare en pratique, le fait que XML n'ait pas de support direct pour les modèles arborescents rend l'utilisation de modèles C++ imbriqués très utile pour obtenir une structure en arbre.
Un exemple de cas pratique où les modèles imbriqués sont utiles est le stockage de conversations Facebook. Un mur Facebook est constitué de notifications sociales (modèle racine), chacun pouvant avoir des commentaires (modèles internes).
-
Bien qu'il puisse sembler que l'utilisation de deux ListView soit assez courante, elle n'est pas documentée actuellement dans un exemple QML. Ces exemples QML ne considèrent qu'une ListView par écran, qui a les mêmes dimensions que cet écran et est flickable pour naviguer dans son contenu.. Au cas où on a besoin de plusieurs ListView l'une au-dessus de l'autre, cela devient plus délicat et le code doit être adapté.
-
On va montrer ici comment utiliser ListView pour afficher les données d'un modèle hétérogène. Le problème, ici, est que, en fonction du type de données, on aura un affichage différent, on utilisera donc différents délégués. Le truc est l'utilisation d'un délégué capable de détecter le type de données et ainsi adapter son affichage.
Qt
-
Le patron de conception du poids-mouche est souvent utilisé dans Qt. Un poids mouche (flyweight) est un objet qui minimise l'utilisation mémoire en partageant autant de données que possible avec d'autres objets similaires. Qt utilise de manière extensive ce patron mais y fait référence sous le nom de partage implicite.
-
Une table de hachage à référence faible contient des paires clé-valeur sans que l'on puisse les atteindre. On en recense quatre types : la clé est une référence faible ; la valeur est une référence faible ; la clé ou la valeur est une référence faible ; la clé et la valeur sont des références faibles.
-
Qt fournit des classes de threads indépendantes de la plateforme, une manière thread-safe de poster des événements et des connexions entre signaux et slots entre les threads. La programmation multithreadée s'avantage des machines à plusieurs processeurs et est aussi utile pour effectuer les opérations chronophages sans geler l'interface utilisateur d'une application. Sans multithreading, tout est fait dans le thread principal.
|
|