1

Macで統一されたタイトルとツールバーを使用するC++アプリを備えたQt4.7.4があります。 setUnifiedTitleAndToolBarOnMac(true); アプリの実行中のある時点で、統一されたタイトルとツールバーの高さをプログラムで知る必要があります。

どうすればその高さを取得できますか?

4

1 に答える 1

2

少なくともQt4.8.4とMountainLionでは、これは少しバグがあるように見えます。

ツールバーをオンにすると、QMainWindow::frameGeometry()間違ったy位置が報告されますが、ウィンドウの合計サイズは正しくなります。そのheight()マイナスは、私のテストでのタイトルバーQMainWindow::geometry()統合ツールバーの高さです。ツールバーだけの高さを調べるには、ツールバーを非表示にして、違いを使用します。height()

これに取り組んでいるQtの人々はいくつかの問題を抱えているようで、中止しましたQMainWindow::setUnifiedTitleAndToolBarOnMac()

Qt4からの統合ツールバーの実装はQt5に移植されておらず、今後も移植されません。つまり、QMainWindow::setUnifiedTitleAndToolBarOnMacを呼び出してもQt5には影響しません。NSToolbarをラップする代替APIがQtMacExtrasで利用できます。

于 2012-12-29T22:11:29.627 に答える