我在 qt设计器中创建了一个表单,我想在调整窗口大小时使其伸展。
我发现它要求将中央小部件放置在布局中。实际上,当我添加我的顶层布局并预览它的qt设计器时,它的外观和行为完全符合我的要求。但是,当我使用.py
将其转换为pyuic5
并从python运行时,它不再能正确显示。顶层布局中的所有小部件在左上角彼此堆叠。
当我中断此布局(无其他修改)并重新运行pyuic5
时,它将重新起作用,除了调整窗口大小时的拉伸。
编辑:
发现我的问题不是窗体本身,而是我在Qt Designer中构建了一个Widget,然后我的主类从MainWindow继承了:
class MyApp(QtWidgets.QMainWindow):
def __init__(self, parent=None):
QtWidgets.QMainWindow.__init__(self, parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
当我将此继承更改为QWidget时,它现在可以按预期工作。我猜这与“主窗口”具有菜单栏和状态栏(除了中央窗口小部件之外)有关吗?