Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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 overridare data() di modo che ritorni Qt::AlignRight quando il role e' Qt::TextAlignmentRole
    • subclassare QStyledItemDelegate e reimplementare initStyleOption
    void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const override{
    QStyledItemDelegate::initStyleOption(option,index);
    option->displayAlignment = Qt::AlignRight;
    }


  • 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));


Log in to reply