2010-11-24 18 views
0

QGroupBoxの正確な幅を計算する必要があります。私はその子の幅を持っていますが、私はQGroupBoxの装飾の幅を計算するのに苦労しています(意味はtotal_size - children_size - layout_spaceです)。グループボックスにはQBoxLayout内に1つの子があります。QGroupBoxデコレーションのサイズ

現在、私は次のようにそれを行う:

int width = layout()->contentsMargins().left() + 
      layout()->contentsMargins().right() + 
      6;          // <--- magic number 

width += child->maximumWidth(); 

は私が試行錯誤から「6」を持って、それは私のシステムのスタイル(KDEの酸素)で動作しますが、私はそれを取得したいのですがプラットフォームに依存しない方法。

入手方法はありますか?

+0

マジックナンバーはレイアウトのlayoutSpacingプロパティから来ます。 – Anton

答えて

0

QWidget::frameSize()をQGroupBoxで使用しようとしましたか?これは、任意の装飾を含むウィジェットのフルサイズを返します。

+0

私はそれを試みましたが、常にQSize(100、30)を返します。グループボックスの実際のサイズが何であっても。 – zarzych

+0

'frameGeometry()'はどうですか? – BastiBen

+0

ご返信ありがとうございます - 私はあなたのコメントに気付きませんでした。 frameGeometry()はQRect(0,0 100x30)を返すので、frameSize()と同じです。 – zarzych

関連する問題