Lee_Serena 2024-06-12 20:31 采纳率: 14.3%
浏览 2
已结题

为什么把 timer1->stop()去掉,金币会不停的转,但是我图片只到min=8啊


#include "mycoin.h"
#include"qpixmap.h"
#include"qdebug.h"
#include"qstring.h"


//myCoin::myCoin(QWidget *parent) : QPushButton(parent)
myCoin::myCoin(QString btnImg)
{
    //设置金币图标
    QPixmap pix;
    bool ret=pix.load(btnImg);
    if(!ret)
        qDebug()<<"图片加载失败";
    pix=pix.scaled(pix.width()*1.5,pix.height()*1.5);
    this->setFixedSize(pix.width()*1.5,pix.height()*1.5);
    this->setIcon(QIcon(pix));
    this->setIconSize(QSize(pix.width(),pix.height()));
    this->setStyleSheet("QPushButton{border:0px;}");

    //设置定时器
    timer1=new QTimer(this);
  timer2=new QTimer(this);

//监听正面翻反面的信号
    connect(timer1,&QTimer::timeout,[=](){

        QPixmap pix;
        QString str=QString(":/res/Coin000%1.png").arg(this->min++);
        pix.load(str);
pix=pix.scaled(pix.width()*1.5,pix.height()*1.5);
        this->setFixedSize(pix.width()*1.5,pix.height()*1.5);
        this->setIcon(QIcon(pix));
        this->setIconSize(QSize(pix.width(),pix.height()));
        this->setStyleSheet("QPushButton{border:0px;}");

        if(min>max)
        {
            min=1;
            timer1->stop();
        }

    });
    //实现金币反转动态
    //正面转反面
    connect(timer2,&QTimer::timeout,[=](){
        QPixmap pix1;

        //实现金币反转动态
        QString str1=QString(":/res/Coin000%1.png").arg(max--);
        pix1.load(str1);
        pix1=pix1.scaled(pix.width()*1.5,pix.height()*1.5);
        this->setFixedSize(pix.width()*1.5,pix.height()*1.5);
        this->setIcon(QIcon(pix));
        this->setIconSize(QSize(pix.width(),pix.height()));
        this->setStyleSheet("QPushButton{border:0px;}");

        if(min>max)
        {
            max=8;
            timer2->stop();
        }
    });



}
//改变状态,启动定时器
void myCoin::flagChange()
{
    if(this->flag)
    {
        timer1->start(30);
        flag=false;
    }
    else
    {
        timer2->start(30);
        flag=true;
    }
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月20日
    • 创建了问题 6月12日