Название: TableView прижать данные в колонке вправо Отправлено: raven1976 от Май 29, 2010, 19:40 Qt 4.6
(подключаюсь к базе SQLite) ... myModel = new QSqlTableModel(this); ... ui->myTableView->setModel(myModel); ... все работает нормально ... но не нравится мне что в myTableView во всех колонках данные прижаты ВЛЕВО хочу, чтобы в колонке с индексом 1 данные были прижаты ВПРАВО наследую класс (mainwindow.h) ------------------------------------------ class my_QStyledItemDelegate : public QStyledItemDelegate { public: my_QStyledItemDelegate(QObject *parent = 0); protected: void initStyleOption ( QStyleOptionViewItem * option, const QModelIndex & ) const; }; (mainwindow.cpp) ----------------------------------------- my_QStyledItemDelegate::my_QStyledItemDelegate(QObject *parent): QStyledItemDelegate(parent) { } //переопределяю виртуальную ф-цию void my_QStyledItemDelegate::initStyleOption ( QStyleOptionViewItem * option, const QModelIndex & ) const { option->displayAlignment = Qt::AlignRight; } // и теперь указываю, что переопределенный мной делегат должен действовать // только на колонку 1 ui->myTableView->setItemDelegateForColumn(1, my_delegate); так вот, вообще-то он действует, но не так как я хотел, вся колонка ПУСТАЯ ... подскажите пожалуйста, что я не так делаю? Название: Re: TableView прижать данные в колонке вправо Отправлено: Kolobok от Май 29, 2010, 20:03 QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole )
Qt::TextAlignmentRole Название: Re: TableView прижать данные в колонке вправо Отправлено: lit-uriy от Май 29, 2010, 21:12 >>вся колонка ПУСТАЯ
попробуй сначала вызвать метод базового класса (QStyledItemDelegate::initStyleOption), а затем свой код |