这里会直接给出Demo代码,做简单讲解。

开发环境VS2013 Qt5.8

先给出头文件代码如下:

 

然后是实现代码如下:

以上就是实现代码。

 

拖放操作包括两个截然不同的动作:拖动、放下。Qt的窗口部件可以作为拖动点,也可以作为放下点,或者两者都是。

上面的MainWindow类实现了QWidget的dragEnterEvent() 和 dropEvent()函数。

当用户把一个对象拖动到窗口部件上时,就会调用dragEnterEvent()函数。如果对这个事件调用acceptProposedAction(),就表明用户可以在这个窗口部件上拖放对象。当然,默认情况下,窗口是不接受拖动的。Qt会自动改变光标来向用户说明这个窗口部件是不是有效的放下点。

当用户在窗口部件上放下一个对象时,就会调用DropEvent()。我们调用函数QMineData::urls()来获得QUrl列表。

QWidget也提供dragMoveEvent()和dragLeaveEvent()两个函数,不过在绝大多数应用程序中不需要实现他们。

 

大致就这些,这是比较简单的。

【Qt】拖拽导入文件,递归导入文件夹的实现
Tagged on:

发表评论

电子邮件地址不会被公开。 必填项已用*标注