我有两个小部件(两个QFrames
),它们都没有与之关联的任何标题栏(我通过 实现setWindowFlags(Qt::FramelessWindowHint)
)。其中一个是主窗口小部件,另一个是侧边栏类型的窗口小部件,它应该贴在它的右边界(它的高度大约是主窗口小部件的 1/4)。
我不能通过QFrame
静态定位使它们都保持透明,因为主小部件可以通过其顶部拖动(因为它上面缺少标题栏,我通过拦截mousepress
/mousemove
事件并相应地移动它来手动完成)。主小部件上的自定义拖动工作正常,但是当我尝试同时移动侧边栏时,两者之间会出现非常明显的视觉延迟,将主小部件向左拖动时两者之间会出现短暂的间隙,或者向右拖动主窗口小部件时两者之间的瞬时重叠(侧边栏不可拖动,没有为其实现拖动逻辑)。
我如何将这两个小部件“粘合”在一起,以便它们一直一起移动而没有任何延迟?我浏览了 Qt 文档,可能在QDockWidget
这里可以提供帮助,但我不明白如何。这里的主要小部件不是QMainWindow
.
平台 - OS X Yosemite,Qt 5.3.1,32 位。