2016-08-02 81 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,這實際上是我一直想要的。