• 大小: 998KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: QT  嵌入式  Linux  

资源简介

基于QT的电子相册 可实现U盘读取 自动播放 暂停播放等功能 程序截图在博客里

资源截图

代码片段和文件信息

#include “formphoto.h“
#include “ui_formphoto.h“
#include 
#include 
#include 
#include 
//#include 


FormPhoto::FormPhoto(QWidget *parent) :
    QWidget(parent)
    ui(new Ui::FormPhoto)
{
    ui->setupUi(this);
    this->Init();
}
FormPhoto::~FormPhoto()
{
    delete ui;
}
void FormPhoto::Init()
{
    width = QApplication::desktop()->width();
    height = QApplication::desktop()->height();
    ui->scrollArea -> setframeShape(Qframe::Noframe);
    ui->scrollArea -> resize(widthheight);
    ui->scrollArea -> setAlignment(Qt::AlignCenter);
    ui->imageLabel -> resize(widthheight);
    ui->imageLabel -> setAlignment(Qt::AlignCenter);
    ui->showbutton -> setstyleSheet(“QToolButton{background: transparent;}“);
    ui->showbutton -> resize(widthheight);
    ui->playorstop -> setGeometry(QRect(QPoint(width/2-25 height/2-25) QSize(50 50)));
    ui->playorstop -> setstyleSheet(“QToolButton{background: transparent;}“);
    ui->playorstop -> setVisible(false);
    ui->close-> setGeometry(QRect(QPoint(width-705) QSize(30 30)));
    ui->close -> setstyleSheet(“QToolButton{background: transparent;}“);
    ui->close -> setVisible(false);
    currentNo = 0;
    imageNum = 0;
    isplaying = true;
    imagePixmap.load(“:/image/MainPage.jpg“);
    imagePixmap = imagePixmap.scaled(widthheightQt::IgnoreAspectRatio);
    ui->imageLabel->setPixmap(imagePixmap);
    timerfordelay=new QTimer;
    connect(timerfordelaySIGNAL(timeout())thisSLOT(hasImages()));
    timerfordelay->start(2000);
    timer=new QTimer;
    connect(timerSIGNAL(timeout())thisSLOT(playImageSlot()));
    timer->start(5000);
    //timerforfade = new QTimer;
}
void FormPhoto::hasImages()
{
    timerfordelay->stop();
    this -> getImages(“/udisk/image“);
    if(!imageNum)
    {
        QMessageBox message(QMessageBox::WarningNULL“U盘中无图片“ QMessageBox::Retry | QMessageBox::Cancel NULL);
        message.setButtonText (QMessageBox::RetryQString(“重试“));
        message.setButtonText (QMessageBox::CancelQString(“退出“));
        switch(message.exec()){
            case QMessageBox::Retry: this->hasImages();break;
            case QMessageBox::Cancel:  app->quit();break;
        }
    }
    else
        this -> playImageSlot();

}

void FormPhoto::playImageSlot()
{

    if(currentNo>=imageNum)
        currentNo=0;
    QString fileName=imageArrary[currentNo++];
    if(isgif[currentNo-1] == true){
        QMovie *movie = new QMovie(fileName);
        ui->imageLabel->setMovie(movie);
        movie->start();
     }
    else{
    imagePixmap.load(fileName);
    imagePixmap = imagePixmap.scaled(widthheightQt::KeepAspectRatio);
    ui->imageLabel->setPixmap(imagePixmap);
    }
//    opacity=0;
//    this->fade_on_fade_in();
//    connect(timerforfadeSIGNAL(timeout())thisSLOT(fade_on_fade_in()));
//    timerforfade->start(50);


}

void FormPhoto::getImages(QString _dir)
{
    Q

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-16 02:56  ElectronicAlbum\
     文件        1062  2017-05-23 01:25  ElectronicAlbum\formphoto.h
     文件         278  2017-05-23 00:49  ElectronicAlbum\main.cpp
     文件        5361  2017-05-23 02:39  ElectronicAlbum\formphoto.cpp
     文件       13967  2017-05-20 13:00  ElectronicAlbum\close.png
     文件      571819  2017-05-20 15:06  ElectronicAlbum\MainPage.jpg
     文件       11568  2017-05-20 09:20  ElectronicAlbum\play.png
     文件       11254  2017-05-20 09:37  ElectronicAlbum\stop.png
     文件       27487  2017-06-16 02:53  ElectronicAlbum\ElectronicAlbum.pro.user
     文件         346  2017-05-20 07:41  ElectronicAlbum\ElectronicAlbum.pro
     文件         187  2017-05-20 13:02  ElectronicAlbum\image.qrc
     文件        4512  2017-06-04 09:43  ElectronicAlbum\formphoto.ui
     文件      651133  2017-06-04 09:43  ElectronicAlbum\ElectronicAlbum
     文件       10312  2017-06-04 09:29  ElectronicAlbum\Makefile

评论

共有 条评论