如何改变QTableWidget标题的字体大小?

fat*_*ici 2 c++ qt

我试图减少QTableWidget的水平标题中的字体大小.下面的代码不起作用,字体大小保持不变.

QFont font;
font.setPointSize(7);
ui.tableWidget->horizontalHeader()->setFont(font);
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何更改字体?

小智 8

基本上有两种方法:

(1)我不能100%确定你的代码无法正常工作,但我的猜测是你创建的字体无效且无法应用,通常你想使用QHeaderView中的现有Font,操作它并将其重置为确保所有其他设置完全相同:

// Example 1
QFont font = ui.tableWidget->horizontalHeader()->font();
font.setPointSize( 42 );
ui.tableWidget->horizontalHeader()->setFont( font );
Run Code Online (Sandbox Code Playgroud)

(2)此外,您可以使用StyleSheets代替QFont,这通常更容易.

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

两种方式都适用于Qt-4.8.3