2016-05-14 3 views
2

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

enter image description here

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

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

Как я могу центрировать цифры?

+1

Вы пробовали 'ui-> tableView-> verticalHeader() -> setDefaultAlignment (Qt :: AlignHCenter);'? –

+0

Я просто пробовал, и это сработало! Если вы хотите представить это как ответ, я буду отмечать его как завершенное. Спасибо! – orbit

+0

Просто отправлено. Добро пожаловать! –

ответ

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. 
0

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

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

См раздел Setting QObject Properties в Qt документации.

Смежные вопросы