为 QTreeWidget 中的元素设置样式表和字体大小

son*_*van 1 qt stylesheet qtreewidget qtreewidgetitem

我尝试为树小部件的标题和内容设置新的字体大小。

这里的问题是:我无法直接为内容设置字体大小,因为在我设置的那一刻,内容还没有出现。所以我可以只设置StyleSheet,这样当内容出现时,它就会遵循StyleSheet。这是我的代码:

    int modifier = 2;
    /* Set font size for headers */
    QFont f = ui.treeWidget->headerItem()->font(0);
    if (f.pointSize() == 10)
        f.setPointSize(f.pointSize() - 1);
    else
        f.setPointSize(f.pointSize() - modifier);
    ui.treeWidget->headerItem()->setFont(0, f);
    ui.treeWidget->headerItem()->setFont(1, f);
    ui.treeWidget->headerItem()->setFont(2, f);

    /* Set font size for content */
    ui.treeWidget->setStyleSheet("{font-size: " + QString::number(f.pointSize()) + "}");
Run Code Online (Sandbox Code Playgroud)

这是结果,标题字体大小改变了,但内容没有改变。我哪里错了,或者您还有其他解决方案吗? 在此输入图像描述

acr*_*075 5

以下对我有用:

ui->treeWidget->setStyleSheet("QTreeWidget { font-size: " + QString::number(f.pointSize()) + "pt; }");
Run Code Online (Sandbox Code Playgroud)

请注意我添加了QTreeWidgetpt;