我有一个Qt应用程序,它实际上是一个QMainWindow ,它具有一个菜单,一个工具栏和一个主窗口小部件。

我想要一个菜单​​项,该菜单项将调整应用程序的大小,以便主窗口小部件具有特定的大小,但尚未找到一种方法来执行此操作。

到目前为止,我想出的最接近的是这样的:

void on_actionSetSize_triggered() {
    ui_.primary_widget->setMinimumSize(100,200);
    adjustSize();
}

我的想法是,将主要小部件的最小尺寸设置为目标尺寸,然后要求用户界面“缩小以适合”

不幸的是,这似乎很少能奏效,肯定会在需要时增加尺寸,但是当我想要减小尺寸时,通常不起作用:-/。

注意:我确实希望允许用户自由调整应用程序的大小,这仅在他们要求时进行。

===============>>#1 票数:0

为了使大小也减小,就像增加时一样,您需要在调用adjustSize()之前在主窗口小部件上设置固定大小。 然后,您可以立即释放约束,以允许用户此后重新调整大小。

您可以尝试以下方法:

ui_.primary_widget->setFixedSize(100, 200);  
adjustSize();
ui_.primary_widget->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);

请注意,您在“主窗口小部件”上设置的大小必须基于其中的有效大小。 否则,在窗口小部件上设置“固定大小”将使它尽可能地小而不破坏布局约束,并且不会进一步扩大。

  ask by Evan Teran translate from so

未解决问题?本站智能推荐: