1
QHBoxLayoutを使用して、5つのウィジェットを水平に並べて表示しています。qlayoutでウィジェットを非表示にする
ウィジェットを非表示にして表示すると、サイズが変更されます。これを防ぐ方法を教えてください。
QHBoxLayoutを使用して、5つのウィジェットを水平に並べて表示しています。qlayoutでウィジェットを非表示にする
ウィジェットを非表示にして表示すると、サイズが変更されます。これを防ぐ方法を教えてください。
できません。ウィジェットを非表示にすると、画面から消えてしまい、他のすべてのウィジェットは、可能な限り最良のスペースに合わせてサイズ変更/並べ替えられます。
ただし、ウィジェットをスペースで置き換えることができます(cf. QBoxLayout::addSpacing
またはQBoxLayout::addSpacerItem
です。これは、非表示にするウィジェットの幅に設定します。
私はどこかのようなものを読んでいますが、今は見つけられないことを覚えています。レイアウト中にウィジェットを隠すべきではないことをどこから知っていますか? –
@VJovic:申し訳ありませんが、私は便利な見積もりはありません。これは私のやり方です。また、 'setColumnMinimumWidth()'関数を持つ 'QGridLayout'を利用することもできますが、それについてはわかりません。 – arne
私の答えを見て、どこにレイアウトの空白を残してウィジェットを非表示にするかを示します。一時的なレイアウト項目を挿入する必要はありません。 http://stackoverflow.com/questions/10794532/how-to-make-a-qt-widget-invisible-without-changing-the-position-of-the-other-qt/10840906#10840906 –