我有一个带有C ++应用程序的Qt 4.7.4,它使用Mac上的统一标题和工具栏:
setUnifiedTitleAndToolBarOnMac(true);
在我的应用程序运行的某个时刻,我需要以编程方式了解统一标题和工具栏的高度。
我怎样才能达到它的高度?
答案 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。