Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: pacmanoid от Май 29, 2006, 06:06



Название: QTable и выравнивание текста в полях и заголовках
Отправлено: pacmanoid от Май 29, 2006, 06:06
Как в QTable установить выравнивание по середине в полях и в заголовке. Долго рылся. Немогу найти как. Неужели никак нельзя.


Название: Re: QTable и выравнивание текста в полях и заголовках
Отправлено: itan от Май 29, 2006, 08:40
Можно через переопределение метода Paint в QItemDelegate.
Вот, например, как устанавливается выравнивание по середине у 1-го столбца:

Код:
class RealCurItemDelegate : public QItemDelegate
{
public:
RealCurItemDelegate(QObject* parent = 0)
: QItemDelegate (parent) { }

void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const
{
QStyleOptionViewItem opt = option;
if ((index.isValid()) && (index.column() == 1))
opt.displayAlignment = Qt::AlignCenter;

QItemDelegate::paint(painter, opt, index);
}
};

.....

tableWidget->setItemDelegate(new RealCurItemDelegate(this));

.....