在qt中设置sizepolicy

在qt中设置sizepolicy,qt,qgraphicsview,qsizepolicy,Qt,Qgraphicsview,Qsizepolicy,在我的应用程序的中心小部件中有一个小部件和一个图形视图。小部件中有四个按钮。我使用以下代码在水平布局中添加了两者: QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(ui->entityWidget); layout->addWidget(ui->graphicsView); ui->centralWidget->setLayout(layout); 我已经将小部件的大小策略设置为最小,将图形视

在我的应用程序的中心小部件中有一个小部件和一个图形视图。小部件中有四个按钮。我使用以下代码在水平布局中添加了两者:

QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(ui->entityWidget);
layout->addWidget(ui->graphicsView);
ui->centralWidget->setLayout(layout);
我已经将小部件的大小策略设置为最小,将图形视图的大小策略设置为首选。当我运行应用程序时,小部件在左上角适当显示,但是图形视图的左上角位于中央控件的中间,这不是必需的。它应该就在小部件旁边


如何修改大小策略以在主窗口中正确放置图形视图?

看起来您没有将父窗口小部件设置为布局。这可能是你的问题

尝试:


此外,如果您发布了设置SizePolicy的方法,这将有所帮助。

只需在图形视图之后的布局中添加一个拉伸:

layout->addStretch();

执行此操作后,左上方的小部件不可见。图形视图与它重叠。原因可能是大小不同,但无论如何,为什么不在Ui中根据需要放置所有小部件呢?为什么要同时使用ui和代码设计?问题也可能出现在centralWidget中。它是否放置在布局中?如果我正确理解了你的要求,你需要从一开始就做这些事情:1。在窗体上放置水平或垂直布局(取决于按钮的放置方式)。2.将按钮拖动到布局中。3.将图形视图放置在布局的右侧。4.单击空白区域并选择“水平布局”。5.然后可以在窗体的属性中设置页边距。如果你需要其他东西,请告诉我我正在将所有按钮添加到小部件中,而不是添加到布局中,我还将这些按钮与图形视图一起添加到布局中。非常感谢您的澄清。:)它保持不变。我已经在Qt Designer中设置了大小策略。
layout->addStretch();