Solved come allineare campi Qsqltablemodel
-
Ciao,
ho una tableview connessa a un QSqlTableModel ma tutti i campi sono allineati a SX ora vorrei capire (essendo nuovo a QT ) come posso allineare a DX alcune colonne.
Grazie -
puoi fare in due modi:
- subclassare
QSqlTableModel
e overridaredata()
di modo che ritorniQt::AlignRight
quando il role e'Qt::TextAlignmentRole
- subclassare
QStyledItemDelegate
e reimplementareinitStyleOption
void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const override{ QStyledItemDelegate::initStyleOption(option,index); option->displayAlignment = Qt::AlignRight; }
- subclassare
-
Ciao Grazie ,
ho risolto implementando vari delegate per fare gli allineamenti dei vari campi.
ui->tableView->setItemDelegateForColumn(3,new allineaCentro(this));
ui->tableView->setItemDelegateForColumn(6,new allineaDestra(this));