2016-08-02 80 views
0

我有一个使用Qt编写的用户界面,主要是为了让最终用户可以自定义哪些可用的码头以及它们的排列方式。无法在Ubuntu上重新排列`QDockWidget` 14.04

我们最近升级到了Qt 5.6.1,并且在Ubuntu上不能再重新安排dock widgets,尽管它们仍然可以在windows和其他操作系统上运行。当您尝试移动码头时,橡皮筋依然会像往常一样显示新的位置,但当码头掉落时,码表会立即恢复到启动的位置,总是以某种方式标记。

经过几个小时的搜索,我认为这个问题与QTBUG-54185有关,我想知道在我们等待Qt 5.6.2版本修复它时,是否有办法解决这个错误。

回答

0

该错误与禁用AnimatedDocks属性有关。 QDockWidget重新排列仍然有效,即使是错误,对于动画的码头小部件也是如此。

的问题是,在代码中,在主窗口中手动设置停靠选项

mainWindow->setDockOptions(AllowTabbedDocks); 

由于DockOptions进行逻辑或运算,这里发生的一切就是AnimatedDocks属性,它是通过启用默认情况下,正在无意中被禁用。我的解决方案是删除违规行,因为默认选项是AllowedTabbedDocks|AnimatedDocks,这实际上是我一直想要的。