空の水平レイアウトがあり、3人の子を動的に配置しています。これはカードゲームであるため、このレイアウトには、画像が設定されたQLabelである子が動的に入力されます。カードをクリックして再生し、画面の中央に移動すると、他のカードの位置は同じままになります。代わりに、カードは右に「浮く」傾向があります。どうすれば元の位置にとどまるように強制できますか?
+-----------------+
| |
| [A] - [B] - [C] |
| |
+-----------------+
各カードの間に拡張可能な水平スペーサーを入れてみましたが、実際には機能しません。また、水平レイアウトをグリッドレイアウトに置き換えてみましたが、これにより、カードの初期座標を指定する必要があります。HTMLバージョンの場合とほとんど同じように、addWidgetを使用してウィジェットを追加できるという事実が気に入っています。
HTMLバージョンでは、カードの周囲に固定サイズのラッパーdivをいくつか使用しています。Qtで同様のことを行うにはどうすればよいですか?
編集
1枚のカード(B)をプレイしたときにレイアウトがどのように見えるかについて少し説明します。
+-----------------+
| |
| [A] - - [C] |
| |
+-----------------+
私が言ったように、私はなんとか空のQWidgetでレイアウトを埋め、それらの上に(それらの中にではなく)カードを置くことができました。水平スペーサーも不要になったので、実際に取り除きました。私はまだこのアプローチを完全に検証していませんでしたが、これは私が期待するように機能しているようです。