我记得在 C# 中有一种叫做 DragMove()
的方法,它允许通过单击所选区域来拖动窗口。
示例(来自此答案):
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Left)
this.DragMove();
}
Qt世界中有这样的功能吗?
我知道一个解决方案是监听mousePressEvent
和mouseMoveEvent
但我只想知道是否有本机方法允许在屏幕上拖动 winodw 只是调用它,就像在 C# this.DragMove()
中一样。
此外,它需要跨平台...
不,没有像你在Qt中提到的函数。 侦听鼠标事件很简单,在Qt中被认为是惯用语。
如果您希望通过在控件之间按任意位置来拖动小部件,只需在基本事件中实现这些事件即可。控件未覆盖的任何区域都将是"可拖动的"。