J'ai créé un délégué et je suis en mesure d'aligner et de mettre en gras les numéros sur la table. Je voudrais les forcer à avoir deux décimales, par exemple 1.2 devrait montrer comme 1.20. Ce est l'en-tête du delagete:QTableView nombres de mise en forme
#ifndef TOTALDELEGATE_H
#define TOTALDELEGATE_H
#include <QObject>
#include <QStyledItemDelegate>
class TotalDelegate : public QStyledItemDelegate
{
public:
TotalDelegate();
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE;
};
#endif // TOTALDELEGATE_H
Voici la mise en œuvre:
#include "totaldelegate.h"
TotalDelegate::TotalDelegate()
{
}
void TotalDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if(!index.isValid()) return;
QFont font=option.font;
font.setBold(true);
QStyleOptionViewItem localOption(option);
localOption.font=font;
localOption.displayAlignment=Qt::AlignRight;
QStyledItemDelegate::paint(painter,localOption,index);
}
Encore un peu perdu sur la façon de contrôler l'alignement il force deux décimales. Aussi, je voudrais savoir comment changer la couleur de fond. Merci pour l'aide. Voici le modèle:
body = new QSqlTableModel(parent,data->m_db);
body->setTable("C"+QString::number(markTime.toSecsSinceEpoch()));
body->select();
ui->bodyView->setModel(body);
ui->bodyView->sortByColumn(0,Qt::AscendingOrder);
ui->bodyView->setColumnWidth(0,30);
ui->bodyView->setColumnWidth(1,80);
for(int x=2;x<ui->columns->maximum()+2;x++) ui->bodyView->setColumnWidth(x,40);
ui->bodyView->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->bodyView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui->bodyView->setAlternatingRowColors(true);
// // *************** Testing ********************
ui->bodyView->setItemDelegateForRow(10,new TotalDelegate);
// // *****************Testing ********************
ui->bodyView->show();
Quel est votre modèle? – eyllanesc
Je viens de mettre à jour le poste avec le modèle – Dan3460
Voulez-vous que tous les nombres aient des nombres décimaux, ou seulement ceux qui ont déjà des nombres décimaux? – eyllanesc