为什么Qt中的拖放停止工作?

时间:2014-11-20 10:44:50

标签: c++ qt drag-and-drop

在qt 4.8.5的软件构建中,在某些情况下,拖放停止工作。它有两个应该工作的地方。一个是将文件拖到应用程序的某个位置,另一个是QTreeWidget中的一个,你可以把一些叶子放到文件夹中。

但是在某些机器(Windows)上,这两种方法从一开始就停止工作或不工作。然后只出现一个禁止的光标。重新启动应用程序后拖放再次正常工作。 它似乎不是Windows中不同权限的问题。

我不知道在哪里寻找这个问题。任何建议都表示赞赏。

2 个答案:

答案 0 :(得分:1)

经过几天搜索网络后,我可以找到问题的原因。

https://bugreports.qt-project.org/browse/qtbug-28601

在我们的软件中,您可以切换使用setWindowFlags调用的模块的大小。之后不再处理拖放事件。

我可以通过调用以下方法解决问题:

setAttribute( Qt::WA_AcceptDrops, false );
setAttribute( Qt::WA_AcceptDrops, true );

在需要拖放的小部件上。希望我们很快就能更新到Qt 5.x. :/

答案 1 :(得分:0)

我遇到了同样的问题,所以我再次重新安装了qt,它开始正常工作,但是第二天我开始遇到同样的问题,所以现在不用卸载并重新安装qt creator了,只需清理缓存和临时文件即可