Qt拖放中的热点是啥意思?
Posted
技术标签:
【中文标题】Qt拖放中的热点是啥意思?【英文标题】:What does hot spot in Qt drag-and-drop mean?Qt拖放中的热点是什么意思? 【发布时间】:2018-01-12 03:37:24 【问题描述】:Qt 有一个方法QDrag::setHotSpot()
设置热点相对于左上角的位置 用于热点指定点的像素图的角。
但是什么是热点及其功能?你会如何定义它?
【问题讨论】:
【参考方案1】:热点基本上定义了拖动操作正在进行时被拖动的像素图应位于的位置。
看看这个drag & drop example,看看它是如何使用的。
【讨论】:
【参考方案2】:我们还指定了光标的热点,它相对于 拖动像素图的顶层角,作为我们计算的点 更多。这使得拖动标签的过程感觉更自然 因为光标总是指向标签上的同一个地方 拖拽操作。
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setPixmap(*child->pixmap());
drag->setHotSpot(hotSpot);
child->hide();
Fridge Magnets Example
【讨论】:
"这使得拖动标签的过程感觉更自然,因为在拖动操作过程中光标总是指向标签上的相同位置。"没有热点会怎样?每次拖动操作时,光标会指向标签上的不同位置?以上是关于Qt拖放中的热点是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章