QtitanDataGrid

QtitanDataGrid

QtitanDataGrid simplement le meilleur widget de grille commerciale pour Qt (C ++)

Plus de détails

 

 

 

Cette grille a tout ce dont vous avez besoin pour ajouter des contrôles de grille très flexibles, rapides et faciles à gérer à votre application qui s'intégreront parfaitement dans l'interface graphique QT standard. Si vous développez des programmes QT qui traitent de grands ensembles de données et que la vitesse de rendu est l'une de vos principales priorités, ce widget tiers QT sera un ajout inestimable à votre boîte à outils de développeur ! 

 

 

 

 

 

Vues et mises en page intégrées

 

Vue de tableau

Vue de grille classique avec des en-têtes de colonne horizontaux disposés en ligne. Vue Table - la vue classique de la grille avec des en-têtes de colonne horizontaux sans laquelle il est difficile d'imaginer une application moderne pour le moment. Cela ne prend que quelques minutes pour ajouter la prise en charge des données de table avec ce type de vue. Les colonnes du tableau sont disposées sur une ligne. Vous pouvez contrôler l'index visuel de la colonne, la visibilité de la colonne, contrôler l'arrière-plan de la couleur, changer la police et la couleur du texte, et bien plus encore.


BandedTableView

Vue de grille avancée qui permet de créer des en-têtes de tableau hiérarchiques complexes combinant les colonnes dans les structures logiques appelées bandes. Vue de table en bandes - vue de grille avancée par laquelle vous pouvez grouper les en-têtes de colonne, en les combinant en bandes, créant ainsi une vue hiérarchique des colonnes. La vue est facile à configurer. Pour regrouper plusieurs colonnes dans une hiérarchie, il vous suffit de créer une colonne de bande spéciale qui n'a pas de connexion de données (liaison) et de l'affecter en tant que parent pour une colonne régulière.
Pour les en-têtes de colonne dans ce type de grille, en plus des paramètres standard de couleur, de position visuelle et de visibilité, il est possible de personnaliser le numéro de ligne sur lequel se trouve l'en-tête de la colonne, de positionner l'en-tête l'un sous l'autre et de pouvoir répartir les en-têtes de colonne sur plusieurs lignes.


CardView

La vue en grille organise une ligne de données tabulaires dans une carte. Parfois, il devient nécessaire de fournir à l'utilisateur final des données tabulaires sous la forme d'une carte. Cela peut être fait facilement en utilisant la grille si vous activez la vue Carte dans celle-ci. Une ligne de données de table se transformera en carte, chaque champ aura son propre en-tête. Les cellules sont disposées verticalement. L'ordre des fichiers contrôlés par l'index visuel qui peut être modifié par programme ou à l'aide de l'opération de glisser-déposer de l'utilisateur final.


Zoom de vue

Zoom efficace pour la vue, qui vous permet d'augmenter ou de réduire rapidement la taille de la police et les éléments de la grille pour une analyse facile des données tabulaires. Le zoom de vue permet d'augmenter ou de diminuer instantanément la taille de la vue de la grille en augmentant ou en diminuant proportionnellement la taille de la police dans les cellules et les éléments de la grille. Cela peut être fait en appuyant sur une combinaison de touches Ctrl + Plus, Ctrl + Moins ou à partir du code.


TreeView

La vue en grille permet d'afficher les données sous forme d'arbre. Dans ce cas, les en-têtes de colonne de tableau classiques sont utilisés.


BandedTreeView

La vue en grille permet d'afficher les données sous forme d'arbre avec la possibilité d'unir les en-têtes de colonne aux bandes.


Enregistrer / charger la mise en page au format XML

La grille est livrée avec des mécanismes pratiques pour stocker la disposition de la vue dans XML. La grille implémente un mécanisme pour enregistrer de nombreux paramètres différents dans le fichier XML effectué par l'utilisateur final lors de l'exécution. En utilisant un tel XML, vous pouvez restaurer l'état de la grille. Actuellement, XML stocke les paramètres de disposition de la vue (index visuel, visibilité, index de bande, etc.), les lignes / colonnes fixes, l'état des filtres, l'état de regroupement et de tri.


Disposition verticale ou horizontale

Possibilité d'afficher les colonnes horizontalement (par défaut) ou verticalement, puis les en-têtes de colonnes disposés l'un en dessous de l'autre, formant la grille verticale. Par défaut, toutes les colonnes de la grille sont positionnées horizontalement sur la ligne. Cependant, cette grille vous permet d'organiser les en-têtes de colonne verticalement. Cette fonctionnalité est demandée lorsque le tableau comporte de nombreuses colonnes et si elles sont disposées verticalement, l'utilisateur final aura accès à plus d'informations sur un seul écran sans faire défiler. La grille dans laquelle les colonnes sont disposées verticalement est souvent appelée - Grille verticale.

 

En savoir plus sur le composant Grid pour Qt (C ++)

QtitanDataGrid est un composant commercial DataGrid pour Qt qui offre une possibilité vraiment extraordinaire de présenter des données tabulaires à l'utilisateur final. Le composant a absorbé toutes les réalisations modernes dans le domaine de la construction de l'interface utilisateur pour l'affichage des tableaux. À l'heure actuelle, il s'agit du seul composant de grille sur le marché Qt avec un éventail impressionnant de fonctions avancées et des performances exceptionnelles. Ce composant de grille de données Qt a été entièrement créé en C ++, ce qui a eu un effet très positif sur sa vitesse, en particulier dans les cas avec de grands et très grands ensembles de données. QtitanDataGrid est entièrement intégré à QtDesigner, il s'intégrera donc parfaitement dans votre environnement de développement familier et garantit une conformité à 100% avec l'interface graphique Qt.

Le composant Grid fournit un ensemble complet de fonctions QTableView standard et un large éventail de fonctionnalités uniques qui ne peuvent pas être implémentées à l'aide de composants et de méthodes par défaut. QtitanDataGrid vous permet de charger différents types de données provenant de différentes sources dans une grille modifiable rapide, flexible et fonctionnelle prenant en charge le tri, le regroupement, la création de rapports, la création de colonnes groupées, le glisser-déposer pour les boutons et de nombreuses autres fonctions pratiques. Cette grille de données aide les développeurs Qt novices et expérimentés avec des antécédents Delphi et C ++ à utiliser les mêmes capacités de grille modifiables avancées complètes auxquelles ils se sont habitués dans les IDE correspondants et qui ne font pas partie de la bibliothèque Qt standard.

 

Formes de gestion des données et des présentations

 

Tri sur plusieurs colonnes

Permet de trier les données en colonne ou plusieurs colonnes sans prise en charge du tri dans le fournisseur de données connecté. L'algorithme de tri est exploité au niveau de la grille et ne nécessite aucune manipulation avec la source de données. Aucune requête de base de données supplémentaire n'est en cours. Vous pouvez facilement trier par n'importe quelle colonne, un ensemble de colonnes et même par les colonnes qui sont actuellement utilisées pour le regroupement. Pour trier les données sur plusieurs colonnes, maintenez la touche "Contrôle" enfoncée pendant le tri. Pour annuler le tri par une colonne spécifique tout en préservant tous les autres critères de tri, maintenez enfoncée la touche "Maj" pendant le tri.


Regroupement multi-colonnes

Permet de regrouper les données par une ou plusieurs colonnes. QtitanDataGrid vous permet de regrouper vos données par n'importe quelle vue de colonne. Le regroupement peut être activé directement à partir du code ou manuellement en faisant glisser la colonne vers le panneau d'en-tête de la grille comme le fait Microsoft Outlook. Le regroupement peut avoir plusieurs niveaux d'imbrication, mais pas moins que le nombre total de colonnes moins 1. Vous pouvez également verrouiller ou déverrouiller des colonnes spécifiques pour le regroupement. Cette opération peut être programmée dans le code, afin que l'utilisateur final dispose d'une vue prête à l'emploi. En fonctionnalité supplémentaire, vous pouvez mettre en évidence avec une couleur différente au niveau de chaque groupe.


Mode lié et non lié

Capable de travailler directement avec la source de données ou de stocker des données dans la grille à l'intérieur.


Modèles Qt

Fonctionne avec tout type de modèles Qt. Tout descendant de QAbstractItemModel peut être connecté. QtitanDataGrid peut fonctionner avec n'importe quelle classe dérivée de QAbstractItemModel en tant que modèle de source de données. En plus des données, cette grille demande au modèle les paramètres de décoration des cellules qui se trouvent derrière les rôles - Qt :: FontRole, Qt :: TextAlignmentRole, Qt :: BackgroundRole, Qt :: BackgroundColorRole, Qt :: ForegroundRole, Qt :: TextColorRole.

 

Personnalisation de la mise en page

 

Afficher ou masquer les colonnes

Un moyen rapide d'afficher ou de masquer les colonnes souhaitées (colonnes de bande) lors de l'exécution ou du code. La grille possède un large éventail de fonctionnalités afin que l'utilisateur puisse rapidement masquer ou afficher à nouveau les colonnes souhaitées. Cela peut être fait en utilisant une fenêtre contextuelle spéciale "Personnalisation rapide des colonnes", en utilisant la fenêtre "Sélecteur de champs" ou en utilisant l'opération glisser-déplacer - il suffit de glisser-déposer la colonne en dehors de la vue pour la masquer. A partir du code, il est facile de contrôler la visibilité de la colonne en utilisant la propriété "Visible".


Groupement Microsoft Outlook

Le mode reproduit le comportement et la représentation visuelle de la méthode de regroupement utilisée dans Microsoft Outlook. Groupement Microsoft Outlook - mode spécialement conçu pour émuler le comportement et l'apparence que vous pouvez observer dans Outlook Express lorsque vous effectuez un groupement pour les messages. Pour ce mode, la hauteur des lignes de groupe est légèrement modifiée et le retrait du côté gauche de la vue est supprimé.


Colonnes gelées (épinglées)

Permet de figer certaines colonnes à gauche ou à droite de la vue de la grille pour empêcher leur défilement horizontal. QtitanDataGrid vous permet désormais d'ajouter des colonnes ou des bandes figées de chaque côté de la vue de la grille. Ces éléments fixes ne peuvent pas défiler horizontalement et sont toujours dans la zone visible de l'utilisateur. Ces colonnes ne peuvent être glissées que dans les limites de leur zone de fixation pour éviter de casser la disposition de l'interface utilisateur ou l'ordre des colonnes recommandé par l'auteur du programme. Lorsqu'un résumé est affiché pour une colonne fixe, les cellules de résumé sont également fixes.


Lignes gelées (épinglées)

Permet de figer les lignes en haut ou en bas de la vue de la grille pour empêcher leur défilement vertical. Lignes gelées - la fonction vous permet d'épingler certaines lignes en haut ou en bas de la vue de la grille, de sorte qu'elles soient toujours devant l'utilisateur final. Ces lignes ne peuvent pas défiler verticalement. Vous pouvez figer des colonnes et des lignes en même temps. Les fonctionnalités n'entrent pas en conflit et peuvent fonctionner simultanément. Les lignes gelées participent au tri, mais ne participent pas au regroupement.

 

Largeur automatique des colonnes

Ajustement automatique de la largeur des colonnes à la vue. La vue Table et la vue Table en bandes prennent en charge le réglage automatique de la largeur des colonnes. Cet algorithme a été écrit avec la convivialité et l'ergonomie de l'interface utilisateur à l'esprit pour minimiser votre implication dans le processus et vous fournir une grille de données de sortie propre, soignée et belle qui nécessite peu ou pas de changements. Dans la vue Table groupée, si une colonne et une bande ont une seule bordure verticale, peu importe l'élément qui est modifié. Si la largeur de bande est modifiée, la largeur de chaque colonne ou bande dans la bande parente sera recalculée dans la même proportion. Si la largeur de colonne est modifiée, cela ne changera que la largeur de cette colonne et la bande parent. Ces techniques offrent aux développeurs plus de flexibilité en termes de configuration de la présentation des données dans leurs applications.


Hauteur automatique des lignes

Réglage automatique de la hauteur des rangées à la vue. Outre le réglage automatique de la largeur des colonnes, la grille vous aidera également à modifier automatiquement la hauteur des lignes de la grille. Si cette option est activée, le composant détermine la hauteur de cellule maximale dans la grille et modifie la hauteur de toutes les autres cellules à cette valeur pour un aspect uniforme et uniforme de la grille. Pour la vue en tableau groupé, cette fonction sera désactivée si le nombre de lignes occupées (propriété RowSpan) dans l'une des colonnes est supérieur à 1.

Notez que si vous utilisez le mode de défilement vertical par pixels, la grille devra calculer la hauteur de chaque ligne potentiellement visible. Si le nombre de lignes est très élevé (plus de 1 000, par exemple), cela peut entraîner une dégradation des performances et des retards chaque fois que le contenu ou la largeur des cellules de la grille est modifié. L'éditeur vous recommande fortement de passer au mode de défilement normal (Per-Items) dans de tels cas.


Aperçu de la ligne

Affichez un aperçu des informations supplémentaires qui font référence à la ligne d'une source de données. Pratique pour organiser les vues maître-détail. Comme Microsoft Office, la grille permet d'afficher des informations supplémentaires dans la ligne d'aperçu pour afficher des informations plus détaillées concernant la ligne avec des options de développement ou de réduction.

 

Édition et validation des données

 

Ajout d'une nouvelle ligne

Ligne spéciale pour créer, modifier et ajouter un nouvel enregistrement ou élément au tableau. La "nouvelle ligne" est située sur place et vous n'avez pas besoin de créer un formulaire supplémentaire pour les nouvelles données. Pendant que la nouvelle ligne se remplit, la grille met en évidence l'endroit où une nouvelle ligne sera ajoutée à l'intérieur de la vue (affichée comme ligne normale mais translucide. Ou elle peut clignoter, elle est configurée séparément). Par exemple, si vous modifiez les données dans la colonne par laquelle le tri est activé, l'endroit où la ligne apparaît changera et l'utilisateur final le verra et pourra analyser les données voisines.


Supprimer la ligne

Offre la possibilité de supprimer une ligne ou un élément via le menu contextuel ou via l'API. Pour supprimer la ligne, l'utilisateur final peut utiliser le menu contextuel en appuyant sur le bouton droit de la souris sur la ligne spécifiée et en sélectionnant l'élément de menu correspondant.


Ensemble d'éditeurs de cellule

La grille est livrée avec un grand nombre d'éditeurs de cellules sur place pour tous les types de données connus et d'autres occasions courantes. La grille Qt (C ++) comprend un riche ensemble d'éditeurs pour éditer les valeurs dans la cellule de la grille. En utilisant un minimum de paramètres, vous pouvez modifier des entiers, des nombres à virgule flottante, des chaînes, des valeurs d'heure et de date ainsi que des éditeurs universels pour l'édition - case à cocher, zone de liste déroulante, barre de progression, éditeur d'images et d'icônes, objets blob et blocs de texte massifs avec formatage. Pour les utilisateurs avancés, une interface de cellule est fournit vous permettant d'implémenter absolument n'importe quelle logique d'éditeur et même d'incorporer votre propre contrôle QWidget dans la cellule pour l'édition.


Validation des entrées

Vous permet de vérifier la valeur entrée avant de placer les données dans la source de données. Corrigez la valeur ou annulez complètement l'entrée. Un ensemble d'événements de la grille vous permet de vérifier les données saisies avant de les placer dans la source de données. Par exemple, vous pouvez vérifier le format de la valeur entrée et le corriger pour l'utilisateur final si le format de la valeur ne correspond pas. Ou demandez à l'utilisateur final de ressaisir la valeur.

 

Outils de filtration et d'analyse

 

Filtrage de type Excel

Permet de filtrer rapidement les lignes par les valeurs contenues dans les cellules dans une seule colonne selon la manière dont cela se fait dans la fonction de filtre automatique de Microsoft Excel. Une fenêtre contextuelle qui s'ouvre en cliquant sur l'icône de filtre sur l'en-tête de colonne et contient une liste de valeurs qui existent dans les cellules de la grille de cette colonne. Vous pouvez sélectionner une ou plusieurs valeurs et afficher uniquement les lignes contenant les valeurs sélectionnées dans la colonne actuelle.


API de filtre personnalisé

Pour les utilisateurs avancés, la grille a une interface pour créer des conditions de filtrage par programmation à partir du code. Plusieurs interfaces API vous permettent de créer un filtre de toute complexité et de l'appliquer à la grille à partir du code de votre application. Vous pouvez utiliser les classes fournies par la grille pour des conditions standard - égales, non égales, plus, moins, etc., ou créer une nouvelle implémentation pour ces interfaces dans laquelle implémenter des fonctions pour comparer les valeurs et générer une représentation sous forme de chaîne (elle est la façon dont le filtre sera affiché pour l'utilisateur final dans le panneau de filtre ou dans l'historique du filtre).


Panneau de recherche sur place

Permet d'entrer une chaîne de recherche et de trouver toutes les lignes et entrées contenant le texte saisi. Le texte fondé est mis en surbrillance. "Ctrl + F" et l'utilisateur final verra un panneau pour rechercher rapidement les données dans la grille. Le texte fondé est mis en surbrillance. L'utilisateur final peut également masquer les lignes qui ne contiennent pas le texte de recherche. Les boutons de navigation permettent de déplacer le focus vers la cellule avec le texte fondé en avant ou en arrière.


Historique du filtre

Fenêtre contextuelle pour gérer l'historique des filtres. La grille conserve un historique des filtres qui ont été appliqués à la vue de la grille. À l'historique du filtre, les conditions du filtre proviennent du filtre de type Excel, de la boîte de dialogue Filtre ou de toute condition définie par l'utilisateur du code source. Vous pouvez réaffecter n'importe quel filtre précédent via une fenêtre d'historique de filtre pratique.


Boîte de dialogue Filtre

Boîte de dialogue Filtre avancé pour créer des conditions de filtrage pour plusieurs colonnes à la fois. La boîte de dialogue de filtrage est un mécanisme intuitif pour ajouter des conditions de filtrage des lignes dans la grille. Activé par Control + Shift + F ou via le menu contextuel par le bouton droit de la souris. La boîte de dialogue vous permet de créer un filtre à partir de zéro ou d'ajouter d'autres conditions à un filtre déjà actif.


Editeur de filtres

Vous permet de créer un nouveau ou de modifier rapidement un filtre existant. Tout filtre superposé à la grille peut être édité dans l'éditeur de filtres. Vous pouvez ajouter de nouvelles conditions, modifier les valeurs et les opérateurs de comparaison. L'éditeur peut être appelé à partir du panneau de filtre de pied de page ou par programme à partir du code source.


Résumés

Permet de calculer le résumé de la colonne et de le montrer à l'utilisateur final. Pour votre commodité, la grille fournit un mécanisme de calcul récapitulatif des valeurs autour de l'ensemble de données. Vous pouvez montrer à l'utilisateur final la somme des valeurs, la valeur maximale, la valeur minimale, la valeur moyenne dans la colonne. L'utilisateur final peut modifier le type de calcul dans le menu contextuel, qui apparaît en appuyant sur le bouton droit de la cellule contenant le résumé.
Les types de résumé suivants sont pris en charge par le widget QtitanDataGrid :

  • Min (valeur minimale dans la colonne)
  • Max (valeur maximale dans la colonne)
  • Sum (la somme de toutes les valeurs de colonne)
  • Count (le nombre de toutes les valeurs de colonne)
  • Moy (la valeur moyenne de toutes les valeurs de colonne)

Une fois le résumé calculé, vous pouvez modifier la valeur de sortie ou formater le texte à afficher dans la cellule de résumé. Cette possibilité peut être utile si vous souhaitez rendre le résultat plus clair pour l'utilisateur final - par exemple, pour ajouter un identifiant de devise pour tous les montants en argent par colonne.


Résumé pour les lignes groupées

Il est possible d'afficher les résumés du groupe de lignes. Les données agrégées peuvent être configurées pour calculer dans un groupe de lignes, après le regroupement par colonne. Pour ces résumés, seules les valeurs du groupe partagé participent. Les cellules récapitulatives sont situées au bas des lignes groupées. Cependant, il existe une option qui permet de modifier la disposition d'une ligne de groupe et de placer des cellules avec des résumés dessus, au lieu du pied de page.


Personnalisation sommaire

La couleur d'arrière-plan, la couleur du texte et la valeur du texte dans la cellule de résumé sont facilement personnalisables. Pour coloriser la cellule de résumé ou modifier le texte du résultat, la grille fournit un certain nombre d'événements dans le gestionnaire dont vous pouvez personnaliser l'apparence des cellules avec les résumés en fonction de vos préférences.

 

Optimisé pour travailler rapidement

 

Moteur de peinture rapide

Utilise un moteur de peinture rapide pour dessiner des primitives de grille. Étant un widget Qt avancé, QtitanDataGrid possède son propre moteur de peinture qui facilite le rendu des primitives géométriques de base. Le but de ce moteur est d'augmenter la vitesse de rendu des éléments d'interface utilisateur de base tout en préservant le même niveau d'intuitivité, de clarté, d'extensibilité et de lisibilité du cadre. Ce moteur intelligent ne rend que les éléments qui doivent être mis à jour pour le moment et se trouvent dans la zone visible du formulaire, économisant ainsi des ressources et offrant aux utilisateurs finaux une expérience de navigation sur la grille beaucoup plus agréable. Les parties qui nécessitent un temps considérable pour le rendu peuvent être tamponnées.


Optimisation des performances de défilement

Algorithme pour accélérer le défilement des données par l'utilisateur final. La méthode d'optimisation des performances de défilement est conçue pour accélérer le rendu des cellules pendant le défilement. L'idée est que la grille affiche uniquement le cadre des cellules à la première fois. Les données ne sont pas récupérées de la source de données et ne sont pas affichées. Si le défilement s'est terminé à ce point, alors pendant la deuxième itération de rendu, les données sont récupérées et affichées avec un effet de fondu agréable. Si le défilement continue, de nouvelles cellules sont dessinées à cet endroit et à nouveau sans données. Cela se produit jusqu'à la fin du défilement.


Charger les Big Data

Traitement ultra-rapide de grands ensembles de données chargés dans la grille. Plus de 100 000 lignes n'est pas un problème du tout. Le mode de lignes virtuelles utilisé dans cette grille permet d'afficher et de faire défiler des centaines de milliers de lignes avec des données sans perte de performances et d'utilisation de la mémoire. Pour la grille, peu importe le nombre de lignes de données à traiter. 100 ou plus de 100000 seront traités avec la même facilité. Les performances sont limitées uniquement par la source de données et non par la grille.

 

Design et Multiplateforme

 

Styles

Utilise des styles Qt standard - QStyle pour le rendu des éléments de la grille. Pour afficher le contenu et les éléments, QtitanDataGrid utilise un style Qt natif (QStyle) de l'objet QApplication ou d'un style connecté directement au QWidget. Cela contribue à une intégration transparente du maillage dans votre application. Malgré cela, la grille offre la possibilité de personnaliser les icônes et la palette de couleurs des éléments importants.


Multiplateforme n'importe où

Développé pour être natif et multiplateforme pour les applications 32 ou 64 bits sous Windows, Linux, Mac OS. QtitanDataGrid a été initialement conçu comme un composant multiplateforme destiné aux applications de bureau. L'objectif principal du développement était la qualité et la fonctionnalité du code. La grille pour l'instant peut être utilisée pour Windows et Mac OS. Le composant est bien testé et conçu pour fonctionner sur des plateformes 32 ou 64 bits comme vous le souhaitez.

 

Prise en charge de Python

Adapté et contient des liaisons à utiliser dans Python 2.7, 3.x basé sur Qt PySide2. La grille est entièrement adaptée pour une utilisation dans des applications Python basées sur Qt PySide2. Par défaut, le numéro de version Python 3.x est utilisé. Mais les liaisons Python peuvent également être recompilées pour Python 2.7. Les scripts de configuration sont facilement reconfigurés. Ils sont réalisés sur la base du script QMake.