我尝试了 CSS 代码:
QTableView QHeaderView::section {
text-align: center;
}
它没有帮助我。
PS 我在使用 Qt 的 WinCC OA 中编写 SCADA 系统,在那里您可以仅使用 CSS 更改组件的外观
最佳答案
如 QHeaderView::paintSection
的源代码所示
QVariant textAlignment = d->model->headerData(logicalIndex, d->orientation,
Qt::TextAlignmentRole);
opt.rect = rect;
opt.section = logicalIndex;
opt.state |= state;
opt.textAlignment = Qt::Alignment(textAlignment.isValid()
? Qt::Alignment(textAlignment.toInt())
: d->defaultAlignment);
QHeaderView
不使用样式表来定义文本对齐方式,仅使用来自 defaultAlignment
的值或来自标题模型的数据 ( Qt::TextAlignmentRole
)。现在,如果您的默认对齐方式是
Qt::AlignLeft
或 Qt::AlignRight
,您可以使用部分填充来自动居中:QTableView QHeaderView::section {
padding-left: auto;
padding-right: auto;
}
反之则不然:如果默认对齐方式为居中,则其他演算会影响填充的使用方式,并且无法用于自动左对齐或右对齐文本。
关于qt - 如何仅使用 CSS 在 Qt 中的 QTableView 的标题中对齐文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51498888/