我尝试为树窗口小部件的标题和内容设置新的字体大小。
问题在于:我无法直接为内容设置字体大小,因为在我设置的那一刻,内容还没有出现。所以我可以设置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()) + "}");
答案 0 :(得分:4)
以下适用于我:
ui->treeWidget->setStyleSheet("QTreeWidget { font-size: " + QString::number(f.pointSize()) + "pt; }");
请注意我添加了QTreeWidget
和pt;
。
答案 1 :(得分:1)
理论上你可以调整dynamic v = new { A = "a" };
Dictionary<string, object> values = ((object)v)
.GetType()
.GetProperties()
.ToDictionary(p => p.Name, p => p.GetValue(v));
样式表子控件中的内容,但在这种情况下Qt忽略了字体大小,我不知道为什么。
或者,您可以通过下一种方式调整内容区域的字体大小:
QTreeWidget::item