资源简介
基于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操作总结和流程总结
- 下一篇:基于物联网实验验环境的温湿度实时显示系统
相关资源
- 基于物联网实验验环境的温湿度实时
- Qt:Windows编程—DLL注入与卸载 demo
- Windows编程—代码修改系统时间 demo
- Qt实现Winsock网络编程—非阻塞模式下
- Qt使用WM_COPYDATA消息进行进程通信 de
- 嵌入式系统课程设计报告
- 基于嵌入式的电子相册设计
- qt图书馆系统
- Qt5--登录后进入主窗口
- ok6410开发板写的密码锁
- qt写的简单的tcp服务器程序代码windo
- 嵌入式系统设计课程设计
- NVIDIA-Linux-x86_64-378.09
- NVIDIA-Linux-x86_64-384.59
- Qt Chart波形静态显示
- linux下基于TCP的多用户聊天室含文档
- Linux贪吃蛇
- QT5 实时曲线绘制
- 基于QT的MP3压缩算法
- Qt继承关系图,qt5
- Linux音乐播放器代码
- linux的Qt设置系统时间
- qtconcurrent 多线程并发处理
- sd卡协议(中文)
- hunt-1.5一种linux上很强的会话劫持工具
- QT应用内切换语言
- QT学生管理系统
- Linux下socket实现TCP网络通讯多个客户端
- linux p2p通信
- QT串口,重点解决了串口接收数据分包
评论
共有 条评论