Название: QTable выровнять текст по центру Отправлено: Sir_J от Июль 26, 2005, 23:16 Как в QTableItem выровнять текст по центру ?
метод который возвращает выравнивание там есть alignment() а вот метода setAlignment (как в QLAbel) я не нашел читал http://prog.org.ru/forum/htopic_1607_alignment.html но так и не понял что где нужно определять. Нормальный человеческий способ есть ? Название: QTable выровнять текст по центру Отправлено: lepsai от Июль 27, 2005, 02:10 Цитировать Нормальный человеческий способ есть ? Во народ! чаго те ещё надо, обьяснили же для идиотов, а ты не доволен. Что такое виртуальные функции слышал? Если нет - помочь нельзя. Если да, то сделай свой класс и переопредели функцию alignment(): class MyTableItem : public QTableItem { int alignment() { } }; А если чего не понял, то греши не на человеческий язык, а на собственную голову...[/quote] Название: QTable выровнять текст по центру Отправлено: Sir_J от Июль 27, 2005, 15:32 Переопределил класс QCheckTableItem так
Код:
в коде делаю так MyTableItem *ci = new MyTableItem(t1, "tets"); по центру НЕ выравниается куда копать ? P.S выранивается только текст в чекбоксе а надо сам чекбокс Название: QTable выровнять текст по центру Отправлено: Evgeny108 от Июль 10, 2007, 09:54 Нужно еще привязать к каждой ячейке QTable объект MyTableItem:
Код: for(int r = 0; r < t1->numRows(); r++) Название: QTable выровнять текст по центру Отправлено: sikuda13 от Июль 10, 2007, 11:22 Копать в сторону Delegate Classes
Пример: Объявляем класс class MItemDelegateMoney : public QItemDelegate { public: MItemDelegateMoney(QObject * parent = 0):QItemDelegate(parent) {}; private: void drawDisplay ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QString & text ) const; }; реализация void MItemDelegateMoney::drawDisplay ( QPainter * painter, const QStyleOptionViewItem & option, const QRect & rect, const QString & text ) const { QStyleOptionViewItem opt = option; opt.displayAlignment |= Qt::AlignRight; QItemDelegate::drawDisplay ( painter, opt, rect, text); } А в конструктуре наследника от QTableView делаем объекта типа: MItemDelegateMoney* itemSum = new MItemDelegateMoney(this); setItemDelegateForColumn(4,itemSum); |