首页
学习
活动
专区
圈层
工具
发布

Qt官方示例-拖动图标

拖动图标示例显示了如何在同一应用程序中的小部件之间以及不同应用程序之间拖放图像数据。   在使用拖放的许多情况下,用户开始从特定的窗口小部件拖放,并将有效负载拖放到另一个窗口小部件上。...在此示例中,我们将QLabel子类化以创建用作拖动源的标签,并将其放置在同时充当容器和放置站点的QWidget中。   另外,当发生拖放操作时,我们希望发送的不仅仅是图像。...DragWidget类定义   用于显示图标的图标小部件是QLabel的子类: class DragWidget : public QFrame { public: explicit DragWidget...houseIcon->move(10, 80); houseIcon->show(); houseIcon->setAttribute(Qt::WA_DeleteOnClose); }   要启用从图标中拖动..., QIODevice::WriteOnly); dataStream pos() - child->pos());   由于我们将发送图标的像素图数据以及图标小部件中有关用户单击的信息

2K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    web桌面程序之图标拖动排序的分析

    我总结了一下一共有2处难点:   1、如何知道被拖动的图标在拖动结束后处于哪个位置   2、知道拖动结束后图标的最后拖动位置,如何判断是在该位置之前插入,还是在之后插入   知道难点后,就可以来一一解决分析了...首先是第一个,如何知道被拖动的图标在拖动结束后处于哪个位置?...(注:格子就是一组数组,分别记录每个格子的四角位置)   根据格子放置图标这一步好了之后,我们就可以开始处理刚才第一个问题了,“如何知道被拖动的图标在拖动结束后处于哪个位置”,解决思路就是在拖动结束后,...以下是演示,可以随意拖动图标,拖动结束后会返回拖动结束后,鼠标当前位于哪个格子的编号,为了让效果更明显,在拖动过程中,我还会将鼠标位于的当前格子进行高亮显示。...2、另一种稍微高级点,就是用图标的原始位置和拖动后的位置进行比较,如果后者大于前者,就代表是往前拖动,则图标插入到拖动后的位置之前,反之则插入到拖动后的位置之后。

    1.2K90
    领券