我有一个空的水平布局,动态填充了三个子项。这是一款卡牌游戏,因此该布局会动态填充QLabel子项,并设置图像。当我点击要玩的卡牌并将其移动到屏幕中央时,我希望其他卡牌的位置保持不变。但是,卡牌往往会“漂浮”到右侧。如何强制它们保持原来的位置?
+-----------------+
| |
| [A] - [B] - [C] |
| |
+-----------------+
我尝试在每个卡片之间放置一个可扩展的水平间距,但这并不起作用。我还尝试了使用网格布局替换水平布局,但这会强制我指定卡片的初始坐标,而我不太想这样做。我喜欢使用addWidget添加小部件,就像在HTML版本中一样。
在HTML版本中,我使用一些包装器div围绕卡片并设置固定大小。如何在Qt中实现类似的效果?
编辑
当播放一张卡片(B)时,布局应该如何呈现得更加清晰。
+-----------------+
| |
| [A] - - [C] |
| |
+-----------------+
正如我所提到的,我成功地用空的QWidget填充了布局,并把卡片放在它们的顶部(而不是内部)。我还摆脱了水平间隔器,因为它们不再需要。这似乎按照我的预期工作,尽管我仍然没有完全验证这种方法。
[A]
和[B]
保持在同一个位置? - Avaris