2012-05-07 4 views
1

に削減する必要があるが、タイトルバーで統一されたMACのツールバーを作成しました。 また、ツールボタンスタイルをtextundericonに設定します。しかし、ツールバーのボタンがチェックされたり、押されたりしたときに、ツールバーのボタンとタイトルバーの境界線が見つかった。ギャップ統一ツールバーとタイトルバーのボーダーマックでZERO

ホープ誰かがゼロにギャップを減らすためにトリックを持っています。ツールバーに追加してもツールボタンのサイズを変更した後、ツールバーの境界線とツールボタンの間のスペースが減少しますされていません。ウィンドウのスクリーンショットに

おかげ

enter image description here

を添付

どんな手掛かり?

答えて

0

私はQtのを使ってMacのために特別に開発されたことがありませんが、私は通常QWidget::setContentsMargins(int left, int top, int right, int bottom)を呼び出し、ゼロに適切なパラメータを設定します。この場合、QToolBarにはsetContentsMargins(x,x,x,0)を呼び出して、何が得られるかを調べることができます。ここで、xは選択する値です。 IIRCは、私が11だと思うのQWidgetのデフォルトのマージン間隔であるが、それは異なる場合があります(とスクリーンショットから、異なって見えるん)QToolBarのために、あなたは少し実験し、あなたが達成しようとしている外観を得るかどうかを確認することができます。

また、私は成功を収めてQLayoutサブクラスで間隔を微調整するために同様のアプローチを使用しました。

+0

このアプローチは役に立ちましたか?もしそうなら、その質問に答えて印をつけてください。そうでない場合は、おそらく再び試してみることができます:)。 –

+0

いいえ、ツールバーとツールボタンのsetContentsMarginを試しても同じ問題があります。 –

+0

Windowsでは、setContentsMargins(...)の下余白に負の値を指定すると、ギャップが削除されます。このアプローチは私には最高のハックを感じます。私はちょうどそれをテストしたが、それは実際にはWindowsの下で動作します。 OS X統合ツールバーの動作が同じであると仮定していますが、わかりません。 QToolBar :: setContentsMargins(0,0,0、-4)のようなものを試して、それがどこにあるのか見てみましょう。 0は何でもかまいません。この方法は、ツールバーをウィンドウの別の側に移動すると保持されないことに注意してください。しかし、統一されたツールバーでは問題ではないかもしれません。 –