如何获取QDockWidget在其当前停靠区中的位置
How can I get the location of a QDockWidget in its current dock area
如何获取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
信号,因为每当停靠站更改停靠站位置或在其当前位置内移动时,都会发出该信号,这应该涵盖所有必要的情况。
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 如何将元素添加到向量的字符串位置
- 如何获取QDockWidget在其当前停靠区中的位置
- 停靠区拆分器的Qt样式表
- 确定Windows线程是否处于临界区或类似的位置
- 如何在CD或DVD上获得扇区的准确位置和角度(数据位置测量)