1

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

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

4

1 回答 1

2

至少对于 Qt 4.8.4 和 Mountain Lion,这看起来有点问题:

打开工具栏,QMainWindow::frameGeometry()报告错误的 y 位置但正确的窗口大小。在我的测试中,它的height()减号QMainWindow::geometry()是标题栏统一工具栏height()的高度。要找出单独的工具栏有多高,您可以隐藏它并使用差异。

从事此工作的 Qt 人员似乎遇到了一些问题并且已经停止QMainWindow::setUnifiedTitleAndToolBarOnMac()

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

于 2012-12-29T22:11:29.627 回答