Gary_Cui_1st 2015-10-15 04:06 采纳率: 0%
浏览 4319

QLabel内嵌在一个widget窗体内,根据鼠标移动,移动labe,但是画面不刷新,

除非我拖动整个窗体的时候,画面才刷新

好难啊好难啊好难啊好难啊好难啊好难啊好难啊好难啊好难啊好难啊

 bool Widget::event(QEvent *event)
{
    bool flipAction = false;
    static float last_x = 0.0f;
    static float touchBeginLastX = 0.0f;

    int deltaX = 0;
    float acceleration = 0.0f;

    switch(event->type()) {
    case QEvent::MouseButtonPress: {
        flipAction = true;
        m_time.start();
        const QMouseEvent *mouseEvent = static_cast<const QMouseEvent *>(event);
        last_x = mouseEvent->x();
        touchBeginLastX = mouseEvent->x();
    }
        break;

    case QEvent::MouseMove: {
        flipAction = true;
        const QMouseEvent *mouseEvent = static_cast<const QMouseEvent *>(event);
        deltaX = mouseEvent->x() - last_x;
        last_x = mouseEvent->x();
    }
        break;

    case QEvent::MouseButtonRelease: {
        flipAction = true;
        int elapseTime = m_time.elapsed();
        const QMouseEvent *mouseEvent = static_cast<const QMouseEvent *>(event);
        deltaX = mouseEvent->x() - last_x;
        acceleration = (mouseEvent->x() - touchBeginLastX) / elapseTime;
    }
        break;
    default:
        break;
    }

    if(flipAction) {
        qDebug() << deltaX;
        QPoint targetPos = ui->label->pos()+QPoint(deltaX,0);
        qDebug() << ui->label->pos();
        ui->label->setGeometry(targetPos.x(), targetPos.y(), ui->label->width(), ui->label->height());
//        ui->label->move(targetPos);
        ui->label->repaint();
        repaint();
        moveEvent(NULL);
    }

    return false;
}
  • 写回答

2条回答 默认 最新

  • lx624909677 2015-10-15 04:10
    关注

    在鼠标移动的槽函数里来update()一下widget

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)