私は 2 つのウィジェット (両方ともQFrames
) を持っていますが、それらのいずれにも関連付けられたタイトル バーはありません (これは を通じて達成されますsetWindowFlags(Qt::FramelessWindowHint)
)。そのうちの 1 つはメイン ウィジェットで、もう 1 つはサイドバーのようなウィジェットで、右側の境界 (メイン ウィジェットの約 1/4 の高さ) でくっつくはずです。
QFrame
メインウィジェットは上部からドラッグできるため、両方を静的な配置で透明に保つことはできません(タイトルバーがないため、 mousepress
/mousemove
イベントをインターセプトしてそれに応じて移動することで手動で行います)。メイン ウィジェットのカスタム ドラッグは正常に機能しますが、サイドバーを一緒に移動しようとすると、2 つの間に非常に明白な視覚的な遅延が表示されます。メイン ウィジェットを左にドラッグしている間、2 つの間に一時的なギャップが表示されます。メインウィジェットを右にドラッグすると、2 つが一時的に重なります (サイドバーはドラッグできず、ドラッグロジックが実装されていません)。
これら 2 つのウィジェットを「接着」して、遅延なく常に一緒に移動するにはどうすればよいですか? QDockWidget
ここで役立つ可能性があるかもしれませんが、その方法を理解できませんでした。ここのメイン ウィジェットはQMainWindow
.
プラットフォーム - OS X Yosemite、Qt 5.3.1、32 ビット。