この質問に答えるために多くのトピックが作成されています。しかし、私が発見したヒントのどれもこれまでのところ、私が扱ってる問題は解決しない...はQScrollAreaがQGridLayoutでうんざりする:QGridLayoutが非表示でスクロールしない
それは非常に簡単です:私はQGridLayoutをスクロール可能にしようとしています。それはいくつかのパーソナルウィジェットを含むかもしれません、ウィジェットの数は固定されていません。 xウィジェット以上がある場合はQGridLayoutはスクロール可能でなければなりません。xは任意の数です。
問題がです:私はQScrollAreaを使用すると、QScrollAreaは全体のレイアウト(スクロール領域の背景色のみ示されている)を非表示にするようです。 QGridLayoutを単独で使うと、私のビューはもちろんスクロール可能ではありませんが、すべてがうまくいくように機能します。私はおそらく何かが足りないのです
は、私の仮定は以下のとおりです。
- 私は何とかスクロール可能な領域の大きさを修正する必要がありますが、私はそれが必要だと確信していないですか、私はすでにそれをinconsciously
- 親を行っている場合既存のQScrollAreaのウィジェットまたはチャイルドウィジェットは、異常な実装によってQScrollAreaが正常に動作するのを防ぎます。
はここmaincodeの面白い部分だ:
QScrollArea *scrollArea = new QScrollArea;
QWidget *resultsPage = new QWidget;
booksGrid = new QGridLayout;
booksGrid->setSizeConstraint(QLayout::SetMinAndMaxSize);
resultsPage->setLayout(booksGrid);
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(resultsPage);
mainWidget->addWidget(scrollArea);
booksGridが mainWidgetがQStackedWidget
あるクラス属性として宣言されている私は、あなたがより多くの情報が必要さを知ってみましょう! ;)
ありがとう!
'booksGrid-> setSizeConstraint(QLayout :: SetMinAndMaxSize);' out? – Scheff
しかし、とにかくこの行は必要でしたが、問題を解決するために私の答えを見てください;) – SparkyRaccoon
私は何とかあなたの答えにあなたが実際に記述したことについて少し疑念がありました。あなたはあなたの質問にあなたのカスタムウィジェットを言及していたはずです(または私は尋ねたことがあります。この場合、私はおそらく私の答えを提供していませんでした)。 48時間後にあなたは[自分の答えを受け入れる]ことができます(https://stackoverflow.blog/2009/01/06/accept-your-own-answers/)。 – Scheff