我有一个空的水平布局,我用三个孩子动态填充。这是一款纸牌游戏,因此该布局会动态填充有图像集的 QLabel 子级。当我点击一张牌来播放它并将它移动到屏幕中央时,我希望其他牌的位置保持不变。相反,卡片倾向于向右“浮动”。我怎样才能强迫他们留在原来的位置?
+-----------------+
| |
| [A] - [B] - [C] |
| |
+-----------------+
我尝试在每张卡之间放置一个可扩展的水平垫片,但它并没有真正起作用。我还尝试用网格布局替换水平布局,但这迫使我指定我不希望的卡片的初始坐标。我喜欢这样一个事实,即我可以像在 HTML 版本中那样使用 addWidget 附加小部件。
在 HTML 版本中,我在卡片周围使用了一些固定大小的包装 div。我怎样才能在 Qt 中做类似的事情?
编辑
对打出一张牌 (B) 时布局的外观进行一点说明。
+-----------------+
| |
| [A] - - [C] |
| |
+-----------------+
正如我所提到的,我设法用空的 QWidget 填充布局并将卡片放在它们上面(而不是在它们里面)。我实际上也摆脱了我拥有的水平垫片,因为它们不再需要了。这似乎按我的预期工作,尽管我仍然没有完全验证这种方法。