无法在 Ubuntu 14.04 上重新排列“QDockWidget”
Can't rearrange `QDockWidget` on Ubuntu 14.04
我有一个用 Qt 编写的 UI,它广泛使用停靠栏小部件,主要是为了让最终用户可以自定义哪些停靠栏可用,以及它们的排列方式。
我们最近升级到 Qt 5.6.1,停靠栏小部件不能再在 Ubuntu 上重新排列,尽管它们仍然适用于 windows 和其他 OS。当您尝试移动底座时,橡皮筋仍会像往常一样显示新位置,但当底座掉落时,它会弹回到它开始的位置,该位置总是以某种方式标记。
经过几个小时的搜索,我认为问题与 QTBUG-54185 有关,我想知道在等待 Qt 5.6.2 发布期间是否有任何方法可以解决该错误修复它。
该错误与禁用 AnimatedDocks
属性 有关。 QDockWidget
即使存在错误,重新排列仍然有效,对于动态停靠小部件。
问题是在代码中,主要的 window 是手动将停靠选项设置为
mainWindow->setDockOptions(AllowTabbedDocks);
由于 DockOptions
是或运算,这里发生的是默认情况下启用的 AnimatedDocks
属性 被无意中禁用。我的解决方案是删除有问题的行,因为默认选项是 AllowedTabbedDocks|AnimatedDocks
,这实际上是我一直想要的。
我有一个用 Qt 编写的 UI,它广泛使用停靠栏小部件,主要是为了让最终用户可以自定义哪些停靠栏可用,以及它们的排列方式。
我们最近升级到 Qt 5.6.1,停靠栏小部件不能再在 Ubuntu 上重新排列,尽管它们仍然适用于 windows 和其他 OS。当您尝试移动底座时,橡皮筋仍会像往常一样显示新位置,但当底座掉落时,它会弹回到它开始的位置,该位置总是以某种方式标记。
经过几个小时的搜索,我认为问题与 QTBUG-54185 有关,我想知道在等待 Qt 5.6.2 发布期间是否有任何方法可以解决该错误修复它。
该错误与禁用 AnimatedDocks
属性 有关。 QDockWidget
即使存在错误,重新排列仍然有效,对于动态停靠小部件。
问题是在代码中,主要的 window 是手动将停靠选项设置为
mainWindow->setDockOptions(AllowTabbedDocks);
由于 DockOptions
是或运算,这里发生的是默认情况下启用的 AnimatedDocks
属性 被无意中禁用。我的解决方案是删除有问题的行,因为默认选项是 AllowedTabbedDocks|AnimatedDocks
,这实际上是我一直想要的。