にそれをしたくない場合でも、サイズを変更します。メニューアイテムウィジェットは、QHBoxLayoutを持つQWidgetといくつかのQLabelで構成されています。QLayout力親QWidgetの私は、私は私自身のカスタムメニュー項目のウィジェットのインスタンスが移入されQListWidgetを使用してい
私はQHBoxLayoutはそれが内に含まれるラベルに合うように、私のウィジェットの高さを縮小し、私のウィジェットのサイズを引き継ぐように見えることを除いて、すべてのものに満足しています。私は、メニュー項目のウィジェットを一定のサイズにして、QHBoxLayoutに子を水平に配置させて、それがウィジェットの高さを引き継ぐことを夢中にしています!
誰にもアイデアはありますか?私は好きQWidgetの私のメニュー項目で物事を試してみた:10は無視(と拡張)と30が固定とどまることになることを期待して
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
this->resize(10, 30);
が、ウィジェットははるかに小さいサイズであり続けています。
ありがとうございます!
マーロン
私は実際にそれを行う方法を考え出しました。 I 0にQHBoxLayoutマージンを設定: レイアウト - > setContentsMargins(5、0、0、0);次いで 30にラベルの最大値と最小高さを設定: ラベル=> setMaximumHeight(30)。 label-> setMinimumHeight(30); レイアウトはまだ私のウィジェットのラベルの高さに合わせてサイズ変更していますが、ラベル自体が私が望む "パディング"スペースを提供しています。 レイアウトが親ウィジェットのサイズを引き継いだのはまだ変わっているようですが、まあまあです。 –
レイアウトは、親ではなく子にのみ適用する必要があります。たぶんあなたの親が含まれている別のレイアウトを持っているかもしれない – blueskin
ええ、それは奇妙です。子供たちに適用されていますが、親のサイズを変更して子供に合わせることができます。しかし、助けてくれてありがとう。 –