调整一个窗口的大小,使主小部件是一个特定的大小

问题描述:

我有一个Qt应用程序,本质上是一个QMainWindow它有一个菜单,一个工具栏和一个主窗口小部件。调整一个窗口的大小,使主小部件是一个特定的大小

我想要一个菜单​​项,将调整应用程序的大小,使主小部件是一个特定的大小,但我还没有找到一种方法来做到这一点。

到目前为止,我都拿出了最近的是这样的:

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

的想法是,我设置的主要部件的最小尺寸为目标大小,然后让UI“缩水以适合“

不幸的是,这似乎是零星地工作,它肯定会增加需要时的大小,但是当我想缩小尺寸时,它通常不起作用: - /。

注意:我确实希望允许用户*调整应用程序的大小,但这只有在他们询问的时候。

对于大小也减少就像增加,你需要在您的主小部件上设置固定大小之前致电adjustSize()。然后,您可以立即释放该约束,以允许用户从此重新调整大小。

你可以试试这个:

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

请注意,您在主窗口小部件的设置需要根据它里面有什么是一个有效的尺寸大小。否则,在小部件上设置“固定大小”将会尽可能小,而不会破坏布局约束,而且不会有任何进一步的变化。

+0

谢谢,我会研究它,看看它是否有效。 –