我的窗户未修饰如下:
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{}
我怎样才能让它变得可拖动?
最佳答案 由于您删除了窗口装饰以及窗口系统提供移动所需的任何访问点,因此您必须自己实现它.
您可以重新实现窗口的鼠标事件处理程序,也可以在窗口对象上使用事件过滤器.
分别参见QWidget :: mousePressEvent(),QWidget :: mouseMoveEvent(),QWidget :: mouseReleaseEvent()和QObject :: eventFilter().
而QWidget :: move()用于实际运动.
由于您已经有了派生类,因此实现事件处理程序可能是更直接的方法.