我已按如下方式取消装饰我的窗户:
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent, Qt::FramelessWindowHint | Qt::WindowSystemMenuHint)
{}
Run Code Online (Sandbox Code Playgroud)
我怎样才能使它可拖动?
由于您删除了窗口装饰以及窗口系统用于提供移动的任何访问点,因此您必须自己实现它。
您可以重新实现窗口的鼠标事件处理程序,或在窗口对象上使用事件过滤器。
分别参见QWidget::mousePressEvent()、QWidget::mouseMoveEvent()、QWidget::mouseReleaseEvent()和。QObject::eventFilter()
当然QWidget::move()还有实际的运动。
由于您已经有一个派生类,因此实现事件处理程序可能是更直接的方法。
| 归档时间: |
|
| 查看次数: |
551 次 |
| 最近记录: |