我正在使用Qt中的QWindow对象。 设置无框标志后,窗口将固定为其默认位置。 无论如何都要回到设置此标志时丢失的可移动性。我尝试了几种不同的方法,但它们都需要move()函数,它似乎只适用于QWidget对象
答案 0 :(得分:0)
您可以继承QWidget
并覆盖mouseMoveEvent
,mousePressEvent
和mouseReleaseEvent
。按下鼠标按钮,跟踪从光标(中心或其他)到光标的距离;如果仍然按下按钮,则移动鼠标时移动它。
我会通过添加bool tracking
成员变量和QPoint delta
变量来跟踪移动窗口的时间和距离。
您可以使用它来添加自定义样式标题栏;从QWidget继承并添加如上所述的所有修剪并让它移动它最远的祖先(父或父父,只要它不是空的)。