作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经取消装饰我的窗口如下:
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{}
如何让它可以拖动?
最佳答案
由于您移除了窗口装饰,因此移除了窗口系统提供移动的任何访问点,因此您必须自己实现它。
您可以重新实现窗口的鼠标事件处理程序,或者在窗口对象上使用事件过滤器。
参见QWidget::mousePressEvent()
、QWidget::mouseMoveEvent()
、QWidget::mouseReleaseEvent()
和QObject::eventFilter()
分别。
当然还有 QWidget::move()
用于实际移动。
因为您已经有了一个派生类,实现事件处理程序可能是更直接的方法。
关于c++ - 如何在Qt中拖动一个未装饰的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42409736/
我是一名优秀的程序员,十分优秀!