資源簡介
基于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
- 上一篇:醫院His操作總結和流程總結
- 下一篇:基于物聯網實驗驗環境的溫濕度實時顯示系統
評論
共有 條評論