调整 QMainWindow 大小

Adjusting QMainWindow size

我目前正在制作一款具有三种不同游戏模式的扫雷游戏。更难的模式有更多的对象和更大的 window 大小。当我尝试切换回更简单的模式时,window 的大小不会调整为更小的 window,这会使布局看起来很糟糕。

之前是这样的:

从困难模式切换后,布局将是这样的(保持困难模式的大小):

那么我该怎么做才能将那些 windows 设置为合适的尺寸呢?或者我该怎么做才能为每种模式设置默认的 window 大小?
谢谢

您应该了解以下几点:

  1. Size policies。各个小部件的大小策略规定了它们如何在垂直和水平方向上收缩或扩展。使用正确的策略,底部的图标和分数等元素将在所有几何配置中保持合理的大小。根据您实现竞争环境的方式,您还可以在那里使用大小策略来确保元素不会变得太大。

  2. 垫片。底栏中间的水平 spacer 元素有助于使图标和分数保持在适当的位置。它会吃掉额外的 space.

  3. QWidget 的 adjustSize() method. You can call it whenever your playing field changes. If your playing field does not work with size hints, but absolute sizes, you can call resize() 在游戏场小部件上,然后。如有必要,主要 window.

  4. adjustSize()