【发布时间】:2012-12-02 22:26:06
【问题描述】:
当前 ALPHA 4 版本的 Necessitas(Android 的 Qt 端口)存在拖放错误。拖放工作正常,除了它阻止事件循环阻止 GUI 获得重新绘制事件。我在项目错误跟踪器中报告了这个问题。 https://bugs.kde.org/show_bug.cgi?id=304180
这可能会在下一个版本中得到解决,并且对于端口的开发人员来说似乎并不是什么大事,因为 Necessitas 仍然是 Beta 版。我想试一试,因为我要移植的内容需要它才能工作。
我需要熟悉事件循环和 Qt 内部的 Qt 大师的帮助。 我从 Qt 文档中知道拖放实现依赖于平台,您可以阅读以下说明,
注意: 在 Linux 和 Mac OS X 上,拖放操作可能需要一些时间,但此功能不会阻塞事件循环。在执行操作时,其他事件仍会传递给应用程序。在 Windows 上,Qt 事件循环在操作期间被阻塞。
查看Qt源代码,我以QDropManager结束,它在
src/gui/kernel/qdnd_XXX.cpp
此文件对 X11、Win、MacOS 和 Symbian 有不同的实现。 在 Necessitas Qt 中,它的 X11 版本用于构建。
有关如何解决此问题的任何说明都会非常有帮助。
【问题讨论】:
标签: android qt drag-and-drop