gpt4 book ai didi

c++ - 在 Qt 中围绕 QWidget 拖动对象

转载 作者:太空狗 更新时间:2023-10-29 21:50:44 27 4
gpt4 key购买 nike

我正在尝试在 Qt Creator 中制作一个支持拖动对象的自定义小部件。在其最简单的形式中,小部件有一个 QRect(或任何其他形状),我可以在其上单击然后将其拖动到小部件周围。一旦我释放鼠标按钮,QRect 应该停止被拖动。

在我的QWidget类中,我有这个方法

void ImageArea::mouseMoveEvent(QMouseEvent *event)
{
QPoint mousePos = event->pos();

qDebug() << mousePos.x();
qDebug() << mousePos.y();
qDebug() << "---------";
}

当指针在屏幕上移动时,可以获得鼠标的坐标。我已经尝试更新 x 和 y 的成员变量,然后通过 paintEvent 方法绘制 QRect,但这不起作用。

有人有什么建议吗?

最佳答案

要获取鼠标移动事件,您必须设置 QWidget::mouseTracking属性为真:

ImageArea::ImageArea( QWidget* p ) : QWidget( parent ) {
...
setMouseTracking( true );
}

关于c++ - 在 Qt 中围绕 QWidget 拖动对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5534439/

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