Conseils pour interface de style Picasa 3
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 : http://timsmisek.com/stock/picasa.jpg
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:
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.