Центрирование текста вертикального заголовка в QTableView?

У меня есть QTableView с вертикальным заголовком видимым. По умолчанию этот заголовок пронумерован. Я не могу понять, как центрировать текст (цифры), хотя. Вот как это выглядит сейчас (красные части - заголовки):

Вот код, который у меня сейчас есть. Я попытался применить свойство выравнивания с помощью CSS, но оно не работает. Все остальное работает через CSS (раскраска), но не выравнивание текста.

ui->tableView->verticalHeader()->setStyleSheet(QStringLiteral("QHeaderView::section{background-color: #e5cbcb; text-align: center;}"));

Как я могу центрировать числа?

2 ответа

Решение

Используйте setDefaultAlignment()

С этими флагами:

Qt::AlignLeft   0x0001  Aligns with the left edge.
Qt::AlignRight  0x0002  Aligns with the right edge.
Qt::AlignHCenter    0x0004  Centers horizontally in the available space.
Qt::AlignJustify    0x0008  Justifies the text in the available space.

Альтернативный способ использования только таблицы стилей:

setStyleSheet("QHeaderView { qproperty-defaultAlignment: AlignHCenter; }");

Смотрите раздел Установка свойств QObject в документации Qt.

Другие вопросы по тегам