我最初的问题是让QDockWidget标题变得粗体。我试过了,它起作用了:
myDock->setStyleSheet("QDockWidget { font: bold }");但是我不明白为什么下面的代码不能工作:
myDock->setStyleSheet("QDockWidget::title { font: bold }";即使我使用更复杂的样式表,它的每个参数都有效,除了font: bold
myDock->setStyleSheet("QDockWidget::title { font: bold;
text-align: left;
background: red;
padding-left: 30px; }");QDockWidget::title字体有什么问题?
发布于 2014-10-29 16:24:29
首先,我不知道为什么字体不能工作,我只能退出。我有一种感觉,默认标题栏类似于窗口标题栏,这几乎是不可能的样式。我正在搜索用于标题栏的小部件的源代码,但什么也没有找到。Here是一些代码,祝你好运。
我认为样式表不支持字体更改。默认情况下,对于从QWidget派生的所有应用程序,诸如背景等参数将始终有效。像字体这样的其他东西可能会实现,也可能不会实现。
但是为什么你不能自定义标题栏呢?它可以是捆绑在QWidget中的任何东西。
QLabel *label = new QLabel("Header Text", myDock);
label->setStyleSheet("color: orange; font-size: 14pt; font-weight: bold;");
myDock->setWidget(bodyWidget);
myDock->setTitleBarWidget(label);我已经用Qt 5.3测试过了,虽然缺少像close或undock这样的按钮:-/
我认为您可以创建它们(使用按钮左右),并将所有内容捆绑在一个小部件中,然后使用setTitleBarWidget设置它并连接一些信号。至少有一个用于关闭按钮的hide()插槽,而您可能必须使用setFloat为float编写代码插槽。
发布于 2014-02-27 19:35:01
QDockWidget *dock = new QDockWidget(); QFont curFont = dock->font(); curFont.setBold(true); dock->setFont(curFont);
发布于 2012-06-28 18:33:00
像这样指定它
MyDock->setStyleSheet("QDockWidget::title { font: 75 11pt "Ubuntu";}");其中75是粗体参数,11pt是你的字体大小,"Ubuntu“是你的字体类型。
https://stackoverflow.com/questions/11241058
复制相似问题