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

Why does drag and drop in Qt stops working?

本文关键字:拖放 停止工作 Qt 为什么      更新时间:2023-10-16

在我们的Qt 4.8.5软件版本中,在某些情况下,拖放停止工作。它应该在两个地方工作。一个是在将文件拖动到应用程序的某个位置时,另一个是在 QTreeWidget 中,您可以在其中将一些叶子放入文件夹中。

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

我不知道在哪里寻找这个问题。任何建议不胜感激。

在网上搜索了几天后,我找到了问题的原因。

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

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

我可以通过调用来解决问题:

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

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

我一直面临同样的问题,所以我再次重新安装了Qt,它开始正常工作,但第二天我开始面临同样的问题,所以现在不是卸载并再次安装Qt创建者,只是清理缓存和临时文件