gpt4 book ai didi

c++ - 如何获取 QDockWidget 在其当前停靠区域中的位置

转载 作者:行者123 更新时间:2023-11-28 05:43:40 24 4
gpt4 key购买 nike

如何获取 QDockWidget 在其当前停靠区域中的位置?例如,如果我有一个由两个小部件分成两半的停靠区域,我如何查询框架以找出哪个在顶部,哪个在底部?当然,用户可以动态拖放 QDockWidgets。

最佳答案

您可以通过检查两个几何图形的值来确定哪个停靠点位于另一个停靠点之上。

如果你有两个码头,

QDockWidget dock1;
QDockWidget dock2;

然后顶部的那个将具有较小的 y() 值(因为屏幕的左上角是 (0,0) 并且 y 值随着您向底部移动而增加)

if(dock1.geometry().y() < dock2.geometry().y())
{
qDebug() << "Dock 1 is above Dock 2";
}

可以使用 x() 值计算左和右。如果几何图形相同,则停靠点是选项卡式的,最上面的那个可以由 isVisible() 的值确定。

如果您想重新计算与用户输入相关的哪个停靠点位于顶部,我建议连接到 QDockWidget::dockLocationChanged 信号,因为只要停靠点改变停靠点位置,它就会被发射,或在其当前位置内移动,应涵盖所有必要的情况。

关于c++ - 如何获取 QDockWidget 在其当前停靠区域中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655685/

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