如何在Qt / C ++中获得Mac统一标题和工具栏的高度

时间:2012-06-21 21:15:01

标签: macos qt toolbar titlebar

我有一个带有C ++应用程序的Qt 4.7.4,它使用Mac上的统一标题和工具栏:     setUnifiedTitleAndToolBarOnMac(true); 在我的应用程序运行的某个时刻,我需要以编程方式了解统一标题和工具栏的高度。

我怎样才能达到它的高度?

1 个答案:

答案 0 :(得分:2)

至少在Qt 4.8.4和Mountain Lion中,这看起来有点儿错误:

启用工具栏后,QMainWindow::frameGeometry()报告错误的y位置但正确窗口大小。其height()减去QMainWindow::geometry()的{​​{1}}是我的测试中标题栏统一工具栏的高度。要找出单独工具栏的高度,您可以隐藏它并使用差异。

Qt工作人员似乎遇到了一些问题,已经停止height()

  
    

Qt 4的统一工具栏实现没有也不会被移植     到Qt 5.这意味着调用QMainWindow :: setUnifiedTitleAndToolBarOnMac有     对Qt 5没有影响。可以使用包装NSToolbar的替换API     QtMacExtras。