カレンダー アプリを作成していて、予定の表示と編集が完了しました。基本的にQVBoxLayout
は、viewlayout と editlayout が含まれており、信号を使用してビューまたは編集を表示または非表示にします。
それは問題なく動作しますが、1 つの問題があります。viewlayout には、追加のスペース用の QSpacerItem があり、編集部分を表示するときにスペースを削除するために、サイズを変更します。
そのようです
if( show_view_hide_edit )
spacer->changeSize(1, 60, QSizePolicy::Expanding, QSizePolicy::Fixed );
else
spacer->changeSize(0, 0, QSizePolicy::Fixed, QSizePolicy::Fixed );
このコードは、ウィジェットが表示され、それを「編集」に切り替えると機能します。ビューに切り替えてから編集に戻ると、画面の上部にスペースが表示されます。それは本当にそこにあるべきではありません。画像は何が起こるかを示しています。(サイズの画像へのリンク)