我正在开发一些桌面软件,它需要一个带有动态内容框架的静态窗口。框架位于主窗口上,主窗口有一个网格布局,允许我通过编辑器添加的小部件自动调整大小/扩展窗口大小。
我创建了一个自定义小部件(并使用框架和可停靠小部件进行了一些变化)来尝试获得所需的行为。当我将此小部件添加到新布局(我已尝试过 QVBoxLayout 和 QGridLayout)并告诉框架使用该布局时,不会显示任何小部件,但是,如果我创建小部件的框架变体并将其与框架一起作为父级在构造函数(又名 new CustomWidget( this->ui->my_frame ); )中,它显示,但显然不遵循布局(不展开)。我的自定义小部件(作为 QWidget、QFrame 或 QDockableWidget)的其他组合不会显示在我的框架中,如果它出现的可能性不大,它不会随着窗口调整大小事件而扩展。
我在某些地方读到覆盖主窗口的调整大小事件函数可能会解决这个问题,但这仅在我不使用布局的情况下 - 我更喜欢使用布局。
如果我使用固定内容和 QTabWidget,我可以获得所需的输出,但我正在为其构建此应用程序的客户端非常希望我不使用选项卡。他们的竞争对手的软件使用标签,我们都同意它看起来很笨重。
我想我最终要编写小部件界面的代码,但现在我很好奇为什么将这些小部件导入布局不能按预期工作。