Не могу переставить `QDockWidget` в Ubuntu 14.04
У меня есть пользовательский интерфейс, написанный на Qt, который широко использует виджеты для док-станции, в первую очередь для того, чтобы конечные пользователи могли выбирать, какие доки доступны и как они расположены.
Недавно мы обновились до Qt 5.6.1, и виджеты док-станции больше нельзя переставлять в Ubuntu, хотя они все еще работают на Windows и других ОС. Когда вы пытаетесь переместить доки, резиновая полоса по-прежнему отображается как обычно, показывая новое местоположение, но при падении дока просто возвращается в то положение, в котором она начиналась, что всегда как-то вкладывается.
После нескольких часов поиска, я думаю, что проблема связана с QTBUG-54185, и мне интересно, есть ли способ обойти ошибку, пока мы ждем релиз Qt 5.6.2, который исправляет ее.
1 ответ
Ошибка связана с наличием AnimatedDocks
свойство отключено. QDockWidget
перестановка все еще работает, даже несмотря на ошибку, для док-виджетов, которые являются анимированными.
Проблема заключалась в том, что в коде главное окно вручную настраивало параметры док-станции как
mainWindow->setDockOptions(AllowTabbedDocks);
поскольку DockOptions
ИЛИ, что здесь происходит, так это то, что AnimatedDocks
свойство, которое включено по умолчанию, непреднамеренно отключено. Решение для меня состояло в том, чтобы удалить оскорбительную строку, так как параметры по умолчанию AllowedTabbedDocks|AnimatedDocks
, что на самом деле то, что я хотел все время.