如何在QTableView中居中垂直表头的文本?

3

我有一个 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); 吗? - Lucas Araujo
我刚刚尝试了一下,它成功了!如果您想将其提交作为答案,我会标记它为完成。谢谢! - earth
刚刚发布。不客气! - Lucas Araujo
2个回答

4

使用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.

3

只使用样式表的另一种方法是:

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

请参阅Qt文档中的设置QObject属性一节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接