美文网首页IT行业干货大全互联网科技程序员
Qt实现等待提示框(图片和movie实现)

Qt实现等待提示框(图片和movie实现)

作者: 0d339158f1a6 | 来源:发表于2015-09-23 13:24 被阅读1429次

    上一篇文章说了怎样用代码实现等待提示框,这篇文章来说一下怎么用切换图片或者播放gif图片来实现。

    1、用图片快速切换实现

    创建工程。(我在上一篇的基础上做,不再去另外创建了)

    添加变量

    private:
        QTimer *updateTimer;    //实现图片切换的间隔时间
        QLabel *labelPic;        //承载图片的label
        int index;                //图片索引值
    
    private slots:
        void updateLabel();        //槽函数实现更新图片
    

    在构造函数中实现

    labelPic = new QLabel;    //创建Label
    labelPic->setPixmap(QPixmap(":/images/0"));//初始化为第一张图片
    index = 0;//初始化索引值
    
    updateTimer = new QTimer(this);//创建定时器
    updateTimer->setInterval(50);//设置定时器间隔50ms
    connect(updateTimer, SIGNAL(timeout()),this,SLOT(updateLabel()));//连接信号和槽
    updateTimer->start();//开启定时器
    
    

    这当然你得有资源文件,并且在资源文件中添加这些图片。我的图片是在有道词典下面找到的。有了图片之后就是创建资源文件,并把这些图片加进去,我的图片名字没改,所以起了个别名0,1,2......11,正好12张。

    loading图片 增加资源图片

    updateLabel()槽的实现

    void myWidget::updateLabel()
    {
        index++;        //自增1
        if(index > 11)    //更具图片总数
        {
            index = 0;
        }
        QPixmap pixmap(":/images/" + QString::number(index, 10));
        labelPic->setPixmap(pixmap);//更新图片
    }
    

    Ok,结束了。看效果

    效果

    2、用QMovie实现

    创建变量

    QLabel *labelMov;//创建承载gif的label
    QMovie *movie;//创建movie
    
    

    构造函数实现

    labelMov = new QLabel;
    movie = new QMovie(":/images/gif");//和创建图片资源一样
    labelMov->setMovie(movie);//承载gif
    movie->start();//开启
    

    别忘了上传资源图片,去网上找一个gif的图片,例如这里http://preloaders.net/en/circular

    gif资源

    看我们的运行效果

    movie运行效果

    3、总结

    其实这两种方法貌似比代码实现更简单一些,但是也有弊端。就是图片大小限制啊,颜色限制啊等等。不过这都是一些思路,实现起来时很有趣的。加上昨天的,最后来张全家福。

    全家福

    相关文章

      网友评论

        本文标题:Qt实现等待提示框(图片和movie实现)

        本文链接:https://www.haomeiwen.com/subject/xovicttx.html