Bonjour tout le monde

Deuxième post de la journée. Et nouveaux problèmes. L'idée à la base est simple, mais la réalisation compliquée. J'ai besoins de conseils et d'avis pour réaliser une interface du style picasa 3 voir photos :

L'idée c'est que au lieu d'avoir des photos j'ai des éléments textes et images sur des utilisateurs. Pour ca j'ai créer une interface avec Qt designer.

Cette interface s'appelle . "miniature"

L'idée c'est de récupérer tous les user d'une base de donnée et d'afficher les éléments propre à chaque utilisateur dans une "miniature". C'est miniature sont ranger en groupe comme les images sont rangés dans des dossiers dans piacasa. L'idée est d'avoir la meme ergonomie (cliquer glisser pour changer de groupe - cliquer et optenir une fenetre de modif - etc.. ).

Voila en esperant que vous avais compris l'idée de base.

Maintenant passons au code. Voila ce que j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
 
QSqlQuery query(db2);
        query.exec("SELECT * from user ORDER BY groupe_user ASC");
 
 
        //QGridLayout *layout = new QGridLayout;
        QList<miniature *> v;
 
        //initialisation des variables de mise en forme
        int x,y = 0;
        int sauvegroupe = -1;
 
        //boucle pour aller de personnes en personnes
        while(query.next())
            {
 
            //creation de l'entete nouveau groupe
            if(query.value(7).toInt()!=sauvegroupe)
                {
                if (y!=0)
                    {
                    x++;
                    y=0;
                    }
                sauvegroupe = query.value(7).toInt();
                }
 
 
            //creation de la miniature
            miniature* tete=new miniature(parent);
            //attribution des informations
            tete->setnomprenom(query.value(1).toString(),query.value(2).toString());
            tete->setpass(query.value(11).toString());
            tete->setlogin(query.value(10).toString());
            v.push_back (tete);
            //ajout aux widgets
            ui->gridLayout->addWidget(tete, x, y);
 
            y++;
            //retour à la ligne
            if (y>4)
                {
                y=0;
                x++;
                }
 
 
            }
        setLayout(ui->gridLayout);
Voila ce code fonctionne mais j'aimerais savoir si je m'y prend de la bonne manière? Je suis preneur de conseils en tout genre. J'ai un temps de chargement qui est pas terrible mais ca marche.

Merci d'avance.