Не могу переставить `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, что на самом деле то, что я хотел все время.

Другие вопросы по тегам