Python 如何避免布局更改其大小?

Python 如何避免布局更改其大小?,python,python-3.x,qt4,pyqt4,Python,Python 3.x,Qt4,Pyqt4,我在用Python 3.5编写的Pyqt4应用程序中设置了一个带有两种布局的QMainWindow,称为a和B 它们通常显示如下模式所示: 但在某一点上,布局B中的某些内容使其更宽。因此,布局B也使重叠布局A变得更宽,部分隐藏: 有谁能帮我找到解决这种行为的办法吗? 我希望以某种方式锁定布局A和B的宽度以避免此问题。在没有看到代码的情况下,我怀疑您将这两个布局直接添加到主窗口中,而没有将它们放入主布局以控制其大小。这样会产生不必要的问题,因为需要手动管理布局的位置和大小 要解决这个问题,只需

我在用Python 3.5编写的Pyqt4应用程序中设置了一个带有两种布局的QMainWindow,称为a和B

它们通常显示如下模式所示:

但在某一点上,布局B中的某些内容使其更宽。因此,布局B也使重叠布局A变得更宽,部分隐藏:

有谁能帮我找到解决这种行为的办法吗?
我希望以某种方式锁定布局A和B的宽度以避免此问题。

在没有看到代码的情况下,我怀疑您将这两个布局直接添加到主窗口中,而没有将它们放入主布局以控制其大小。这样会产生不必要的问题,因为需要手动管理布局的位置和大小

要解决这个问题,只需在主窗口中添加一个,然后使用适当的拉伸因子将子布局添加到主窗口中。下面是C++中的一个例子(未经测试)来说明必要的步骤:

QHBoxLayout* mainLayout = new QHBoxLayout();

QGridLayout* childLayout0 = new QGridLayout();
QGridLayout* childLayout1 = new QGridLayout();

//Add widgets to the child layouts

mainLayout->addLayout(childLayout0, 2);
mainLayout->addLayout(childLayout1, 1);

mainWindow->setLayout(mainLayout);

您可以提供一个解决方案来了解您的问题。请提供两种布局的最小和最大尺寸。同时提供GUI的最小和最大大小。。我认为您的GUI最大大小小于布局大小。,