我想实现的操作是:当拖动一些图标到另一个图标上并Drop时,将拖动的图标移到被drop的图标代表的文件夹里面。
在Qt3(3.3.5)下,很简单,只需以QIconView为基类创建一个子类并重载虚函数
void contentsDropEvent ( QDropEvent * e)就可以了,在这个函数里写自己的代码就可以实现以上操作。
然而当我把代码移植到Qt4(4.2.3)下以后,发现无法识别drop了。
前提是源代码除了几处小的为了移植到qt4所做的修改(比如QIconView到Q3IconView等)外,其它都不变。结果是 contentsEnevt 这个事件处理函数捕捉不到将图标A放到B上的操作了,只能捕捉到将图标放到IconView的空白处的操作。当把图标A向图标B上拖动的时候,光标的形状也变成一个圆圈里加一斜杠的样子,明显是不可操作,而在Qt3里是没有问题的,光标也不会这个样子。
Q3IconViewItem 也已经 setDropEanbled(true)了,因为在QT3下正常
不知你们是否遇到过这个问题
谁知道怎么解决呀?