Signaler

[QT] Aligner a droite une colonne dans QTableView

Posez votre question Luune 24Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention - Dernière réponse le 27 juil. 2017 à 04:33 par loupius
Bonjour,

Depuis un certain temps j'essaie d'aligner a droite une colonne dans un tableau mais je n'arrive pas, j'ai beaucoup chercher mais tout les solutions que j'ai essayer ne marche pas c'est pourquoi je viens vers vous pour m'aider a résoudre ce problème;
j'ai un QTableView que je remplis avec une requête sql et voila le code :


QSqlQueryModel * modalStockRec= new QSqlQueryModel();
QSqlQuery QryTabStockRec;
QryTabStockRec.exec("select codvar 'Variété',CAST(sum(pdsfru) as signed integer) as 'Tout-Venant', \
if(frigo='N' and deverdi='N' and etat='R', cast(sum(pdsfru) as signed integer) ,0) as Arrivage, \
if(frigo='O' and deverdi='N' and etat='F', cast(sum(pdsfru) as signed integer) ,0) as Frigo, \
if(frigo='N' and deverdi='O' and etat='F', cast(sum(pdsfru) as signed integer),0) as Deverdissage, \
if((frigo='O' or deverdi='O') and etat='R', cast(sum(pdsfru) as signed integer),0 ) as Ressuyage \
from palbrut where numver=0 group by 1;");
modalStockRec->setQuery(QryTabStockRec);
ui->TabStockRec->setModel(modalStockRec);


des idées svp ?
Merci d'avance
Utile
+0
plus moins
Bonsoir,

Dans un tableau, l'alignement ne se déclare pas au niveau d'une colonne mais au niveau d'une cellule.
Un exemple simple:

QTableWidget* tableWidget = new QTableWidget(this);
tableWidget->setRowCount(10);
tableWidget->setColumnCount(5);

QTableWidgetItem *item = new QTableWidgetItem(QString("Aligné à droite"));
item->setTextAlignment(Qt::AlignLeft);
tableWidget->setItem(row, column, item);

Eh oui, si l'on sort de l'alignement par défaut, il faut le déclarer pour chaque cellule.

Pour Qt, il faut absolument lire (et s'imprégner de) la doc qui est complète et très bien faite.

Bonne lecture.
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !