Macで統一されたタイトルとツールバーを使用するC++アプリを備えたQt4.7.4があります。
setUnifiedTitleAndToolBarOnMac(true);
アプリの実行中のある時点で、統一されたタイトルとツールバーの高さをプログラムで知る必要があります。
どうすればその高さを取得できますか?
少なくともQt4.8.4とMountainLionでは、これは少しバグがあるように見えます。
ツールバーをオンにすると、QMainWindow::frameGeometry()
間違ったy位置が報告されますが、ウィンドウの合計サイズは正しくなります。そのheight()
マイナスは、私のテストでのタイトルバーとQMainWindow::geometry()
統合ツールバーの高さです。ツールバーだけの高さを調べるには、ツールバーを非表示にして、違いを使用します。height()
これに取り組んでいるQtの人々はいくつかの問題を抱えているようで、中止しましたQMainWindow::setUnifiedTitleAndToolBarOnMac()
:
Qt4からの統合ツールバーの実装はQt5に移植されておらず、今後も移植されません。つまり、QMainWindow::setUnifiedTitleAndToolBarOnMacを呼び出してもQt5には影響しません。NSToolbarをラップする代替APIがQtMacExtrasで利用できます。