Qt:使用样式表更改QDockWidget按钮的位置

时间:2011-01-10 11:17:23

标签: qt

我正在使用Qt创建GUI。我使用样式表将关闭按钮和浮动按钮的位置更改为Mac OS X中DockWidgets标题栏的左侧。我的代码如下所示:

QString macOSXButtonStyle = "";
#ifdef MACOSX
  macOSXButtonStyle = "QDockWidget::close-button, QDockWidget::float-button { subcontrol-position: left; } QDockWidget::close-button { left: 4px; } QDockWidget::float-button { left: 20px; }";
#endif

activeDockWidget->setStyleSheet(macOSXButtonStyle);

重新定位确实有效。但按钮看起来比以前小:

在:

http://www.informatik.uni-bremen.de/~cargath/buttons_before.png

后:

http://www.informatik.uni-bremen.de/~cargath/buttons_after.png

我尝试使用图标大小,大小,宽度和高度的不同组合来调整它们的大小,但似乎没有任何效果。知道是什么导致了问题/如何解决它?

2 个答案:

答案 0 :(得分:0)

使用您的样式设置默认QDockWidget样式似乎对使用Qt4.7的Win 7或Ubuntu 10.14下的图标大小没有任何影响。

仔细观察前后图片,差异似乎是高度 - 图标具有相同的基线,工具栏的高度相同。如果明确地改变高度没有奏效,我想知道是否某些垂直填充可能已经被引入?应用程序中是否还有其他Mac专用样式?

您可以尝试在该样式中显式设置填充:0。零应该是默认值,所以这很多都不会改变任何东西。

答案 1 :(得分:0)

我遇到了同样的情况,我可以通过添加

来恢复图标大小
QDockWidget
{
    icon-size: 20px;
}

(使用Qt 4.7和Qt 4.8进行测试。)