如何改变QTableWidget表头的字体大小?

4

我试图减小QTableWidget水平表头中字体的大小。以下代码无效,字体大小保持不变。

QFont font;
font.setPointSize(7);
ui.tableWidget->horizontalHeader()->setFont(font);

我该如何更改这种情况下的字体?

奇怪,这个应该可以工作,而且对我来说肯定是可以的。你确定水平标题没有在其他地方被修改过吗?也许它有一个样式表被分配了? - SingerOfTheFall
我正在使用Qt 4.8.1,tableWidget上没有使用样式表。 - fatma.ekici
我和@SingerOfTheFall一样,在Qt 4.8.0上无法重现这个问题。请提供更多细节的源代码。 - vahancho
1个回答

13

基本上有两种方法:

(1) 我不确定为什么您的代码无法正常工作,但我的猜测是您创建的字体无效且不会应用,通常您需要使用现有的QHeaderView字体,对其进行操作并重置以确保所有其他设置都相同:

// Example 1
QFont font = ui.tableWidget->horizontalHeader()->font();
font.setPointSize( 42 );
ui.tableWidget->horizontalHeader()->setFont( font );

(2) 此外,您可以使用样式表而不是 QFont,这通常更容易。

// Example 2
_ui.tableWidget->horizontalHeader()->setStyleSheet("QHeaderView { font-size: 42pt; }");

两种方式都适用于Qt-4.8.3


1
在 PySide6 上的解决方案是 self.tableWidget.horizontalHeader().setStyleSheet("QHeaderView { ffont-size: 42pt; }")。 - T.SURESH ARUNACHALAM

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