Qt5中是不是有任何拖动移动方法?

Posted

技术标签:

【中文标题】Qt5中是不是有任何拖动移动方法?【英文标题】:Is there any drag - move method in Qt5?Qt5中是否有任何拖动移动方法? 【发布时间】:2014-02-01 07:18:51 【问题描述】:

我记得在 C# 中有一个名为 DragMove() 的方法,它允许通过单击选定区域来拖动窗口。

示例(来自this 答案):

private void Window_MouseDown(object sender, MouseButtonEventArgs e)

    if (e.ChangedButton == MouseButton.Left)
        this.DragMove();

Qt世界有这样的功能吗?

我知道a solution would be to listen for mousePressEvent and mouseMoveEvent,但我只是想知道是否有允许在屏幕上拖动winodw 的本机方法,就像在C# 中一样this.DragMove()

另外,它需要跨平台...

【问题讨论】:

【参考方案1】:

不,没有像您在 Qt 中所指的功能。监听鼠标事件很简单,并且在 Qt 中被认为是惯用的。

如果您希望通过按下控件之间的任意位置来拖动小部件,只需在基本事件中实现这些事件。控件未覆盖的任何区域都将是“可拖动的”。

【讨论】:

你能举个例子吗?

以上是关于Qt5中是不是有任何拖动移动方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中绘制一个圆圈并移动它/拖动它

反复移动 JS 可拖动克隆

在 MFC 中拖动子对话框时如何移动父对话框?

即使拦截鼠标事件,Qt 窗口也会移动

注册一个全局钩子来检测鼠标是不是拖动文件/文本

列表内可排序,外可拖动(可移动到任何地方)