gpt4 book ai didi

c++ - 如何在Qt中拖动一个未装饰的窗口

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:48 27 4
gpt4 key购买 nike

我已经取消装饰我的窗口如下:

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com