隐藏英雄 发表于 2022-12-31 20:26

QT 问题

本帖最后由 隐藏英雄 于 2022-12-31 21:12 编辑

哪位大神帮我注解一下这段代码,
实在是理解不了了,用于按钮转圆形进度 0-100%
int status;             //状态 tempWidth = this->width();value = 0;

void ProgressButton::mousePressEvent(QMouseEvent *)
{
    if(!timer->isActive()) //如果定时器处于活动状态
    {
      status = 0; //
      value = 0.0;//
      tempWidth = this->width(); //
      timer->start();//定时器开始工作
    }
}



void ProgressButton::progress()
{
    if (0 == status)
    {
      tempWidth -= 5;
      if (tempWidth < this->height() / 2)
      {
            tempWidth = this->height() / 2;
            status = 1;
      }
    }
    else if (1 == status)
    {
      value += 1.0;//每次增加1度
      if (value >= 360) //小于等于360度
      {
            value = 360.0;
            status = 2;
      }
    }
    else if (2 == status)
    {
      tempWidth += 5;
      if (tempWidth > this->width())
      {
            tempWidth = this->width();
            timer->stop();//定时器停止工作
      }
    }

    this->update();
}

msccreater 发表于 2023-1-1 11:57

效果图都没有,都不知道你这个tempWidth是干嘛的...

MarioCrane 发表于 2023-1-1 14:32

代码发全些
页: [1]
查看完整版本: QT 问题