我想将QGroupBox
的标题更改为粗体,其他则保持不变。如何仅更改QGroupBox
的标题的字体?如何仅更改QGroupBox标题的字体?
8
A
回答
12
Font properties如果未明确设置,则从父代继承到子代。您可以通过setFont()
方法更改QGroupBox
的字体,但是您需要通过明确重置其子级的字体来中断继承。如果您不想为每个孩子(例如,每个孩子上分别设置)设置此选项,则可以添加一个中间控件,例如,像
QGroupBox *groupBox = new QGroupBox("Bold title", parent);
// set new title font
QFont font;
font.setBold(true);
groupBox->setFont(font);
// intermediate widget to break font inheritance
QVBoxLayout* verticalLayout = new QVBoxLayout(groupBox);
QWidget* widget = new QWidget(groupBox);
QFont oldFont;
oldFont.setBold(false);
widget->setFont(oldFont);
// add the child components to the intermediate widget, using the original font
QVBoxLayout* verticalLayout_2 = new QVBoxLayout(widget);
QRadioButton *radioButton = new QRadioButton("Radio 1", widget);
verticalLayout_2->addWidget(radioButton);
QRadioButton *radioButton_2 = new QRadioButton("Radio 2", widget);
verticalLayout_2->addWidget(radioButton_2);
verticalLayout->addWidget(widget);
还要注意,到窗口小部件分配新字体时,“从这个字体的属性相结合,与小部件的默认字体,形成小部件的最后字体”。
一个更简单的方法是使用样式表 - 不像CSS,不像正常的字体和颜色继承,properties from style sheets are not inherited:
groupBox->setStyleSheet("QGroupBox { font-weight: bold; } ");
0
以上回答是正确的。 这里有几个额外的细节可能会有所帮助:
1)我在
Set QGroupBox title font size with style sheets
了解到QGroupBox::title
不支持字体属性,所以你不能设置标题的字体办法。你需要像上面那样做。
2)我发现setStyleSheet()
方法比使用QFont
更“精简”一点。也就是说,您还可以执行以下操作:
groupBox->setStyleSheet("font-weight: bold;");
widget->setStyleSheet("font-weight: normal;");
相关问题
- 1. Pyqt:如何更改QGroupBox标题颜色?
- 2. 如何更改TabItem的标题字体而不更改内容的字体?
- 3. 如何粗体和更改图表的字体大小标题
- 4. 更改字体标签中间标题
- 5. 使用样式表设置QGroupBox标题字体大小
- 6. 更改UINavigationBar标题的字体
- 7. C#如何更改标签的字体
- 8. 从QGroupBox中删除标题
- 9. 让QGroupBox ::标题扩大
- 10. Kivy:更改RstDocument标题字体
- 11. 更改NSTableView标题字体颜色
- 12. JFreeChart MultiPiePlot更改标题字体颜色
- 13. 更改MFMailComposeViewController navigationBar标题字体
- 14. IOS更改按钮标题字体
- 15. 如何更改操作栏/标题栏的字体?
- 16. ASP.NET图表:如何更改图表标题中的字体?
- 17. 如何更改主标题的字体在图()
- 18. 如何更改Panorama项目标题的字体大小?
- 19. 如何更改标题和alertController的字体和颜色?
- 20. 如何更改uipickerview标题文本中的字体样式?
- 21. 如何更改以下jtable标题的字体
- 22. 如何更改UINavigation Controller标题的字体?
- 23. 如何更改字体的元数据(特别是标题)?
- 24. 如何更改TCheckBox,TRadioButton,TGroupBox上的标题字体颜色?
- 25. 如何在代码中更改WPF图表的标题字体?
- 26. 如何更改TableViewer标题的字体和样式
- 27. 我们如何更改tableview标题的字体?
- 28. 如何更改iPhone中的标题字体大小?
- 29. 如何更改jQuery全日历标题标题的字体颜色?
- 30. 如何更改标签的字体(和字体大小)
此方法是否也适用于对话标题?谢谢。 – user1899020
非常有启发性的答案。非常感谢!!!我认为这种方式也适用于对话标题。大!!! – user1899020
我刚刚尝试过它,并没有马上工作,所以我不确定是否可以完成 - 至少如果它是顶级窗口/对话框,那么本机窗口系统可能会阻止修改字体。可能这有助于:http://www.qtcentre.org/threads/25974-stylesheet-to-QDialog-Title-Bar –