У меня есть два виджета (оба QFrames
), ни у одного из них нет связанной с ними строки заголовка (чего я достигаю через setWindowFlags(Qt::FramelessWindowHint)
). Один из них является основным виджетом, а другой виджетом боковой панели, который должен прикрепляться к нему на правой границе (его высота составляет примерно 1/4 от основного виджета).
Я не могу держать их обоих в прозрачном QFrame
со статическим позиционированием, так как основной виджет можно перетаскивать через его верхнюю часть (поскольку на нем отсутствует строка заголовка, я делаю это вручную, перехватывая события mousepress
/mousemove
и перемещая их соответственно). Пользовательское перетаскивание основного виджета работает нормально, но когда я пытаюсь переместить боковую панель вместе с ней, между ними появляется очень очевидная визуальная задержка, между ними видны мгновенные промежутки при перетаскивании основного виджета влево или мгновенное перекрытие между ними при перетаскивании основного виджета вправо (боковая панель не перетаскивается, для нее не реализована логика перетаскивания).
Как мне «склеить» эти два виджета вместе, чтобы они все время перемещались вместе без каких-либо задержек? Я просмотрел документы Qt, возможно, QDockWidget
может помочь здесь, но я не мог понять, как это сделать. Главный виджет здесь не QMainWindow
.
Платформа - OS X Yosemite, Qt 5.3.1, 32 бит.