gpt4 book ai didi

c++ - 在父部件中居中子部件(布局中添加了父部件)

转载 作者:行者123 更新时间:2023-11-30 01:44:12 27 4
gpt4 key购买 nike

我创建了一个包含一个父部件的布局。在那个父小部件中,我创建了另一个小部件。

我的代码与此类似:

QGridLayout *layout = new QGridLayout();
QWidget *parentWidget = new QWidget();
layout->addWidget(parentWidget );
QWidget *childWidget = new QWidget(parentWidget);

enter image description here

我怎样才能让子部件在父部件中居中?

问题是我们无法获得父小部件的真实大小,因为它在布局中。

最佳答案

将 child 移动到 parent 的 showeEvent 中。您可以使用 bool 标志仅在父项首次显示时执行此操作。

void Parent::showEvent(QShowEvent *)
{
if(_first_show)
{
_first_show = false;
_child->move(this->rect().center() - _child->rect().center());
}
}

它有效的证明(红色是父级,蓝色是子级):

enter image description here

关于c++ - 在父部件中居中子部件(布局中添加了父部件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36540090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com