Qt制作简易电子相册

您所在的位置:网站首页 怎么用照片做相册封面背景 Qt制作简易电子相册

Qt制作简易电子相册

2024-07-11 06:19| 来源: 网络整理| 查看: 265

最近学习了Qt,学习了并制作了一个简易的电子相册供大家学习参考。 首先说一下实现的主要功能:

点start自动播放,再次点击可以暂停;暂停功能;切换上一张图片;切换下一张图片。 下面是最终结果图: 在这里插入图片描述 下面是界面布局 在这里插入图片描述 添加资源文件: 在这里插入图片描述

下面附上完整代码 widget.h

#ifndef WIDGET_H #define WIDGET_H #include #include #include namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void show1(); void show2(); void on_pushButton_2_clicked(); void on_pushButton_4_clicked(); void on_pushButton_3_clicked(); void on_pushButton_5_clicked(); private: Ui::Widget *ui; QTimer m_timer; QString m_image[17]; int i; }; #endif // WIDGET_H

widget.cpp

#include "widget.h" #include "ui_widget.h" #include #include QStringList::iterator it; Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); this->resize(800,600); ui->label->setScaledContents(true); //ui->pushButton->setGeometry(100,100,70,30); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(show1())); connect(&m_timer,SIGNAL(timeout()),this,SLOT(show2())); m_image[0]="image/1.jpg"; m_image[1]="image/2.jpg"; m_image[2]="image/3.jpg"; m_image[3]="image/4.jpg"; m_image[4]="image/5.jpg"; m_image[5]="image/6.jpg"; m_image[6]="image/17.jpg"; m_image[7]="image/7.jpg"; m_image[8]="image/8.jpg"; m_image[9]="image/9.jpg"; m_image[10]="image/10.jpg"; m_image[11]="image/11.jpg"; m_image[12]="image/12.jpg"; m_image[13]="image/13.jpg"; m_image[14]="image/14.jpg"; m_image[15]="image/15.jpg"; m_image[16]="image/16.jpg"; i=0; } Widget::~Widget() { delete ui; } void Widget::show1()//定时0.5秒自动播放图片 { if("start"==ui->pushButton->text()) { m_timer.start(500); ui->pushButton->setText("stop"); } else { m_timer.stop(); ui->pushButton->setText("start"); } } void Widget::show2()//切换下一张图片 { if(i==17) { i=0; } QImage imag; imag.load(m_image[i]); i++; //imag.scaled(ui->label->width(),ui->label->height(),Qt::IgnoreAspectRatio); QPixmap map=QPixmap::fromImage(imag); ui->label->setPixmap(map); } void Widget::on_pushButton_2_clicked() { i++; if(i==17) i=0; QImage imag; imag.load(m_image[i]); QPixmap map=QPixmap::fromImage(imag); ui->label->setPixmap(map); } void Widget::on_pushButton_4_clicked()//暂停 { m_timer.stop(); } void Widget::on_pushButton_3_clicked()//切换上一张图片 { i--; if(i==-1) i=16; QImage imag; imag.load(m_image[i]); QPixmap map=QPixmap::fromImage(imag); ui->label->setPixmap(map); } void Widget::on_pushButton_5_clicked()//退出 { this->close(); }

main.c

#include "widget.h" #include int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }

最后在说明一下如果有些同学图片出不来可将image图片文件与debug放在同一目录下即可如下图: 在这里插入图片描述 ps(如果还是出不来可能应为qt版本原因,图片名不支持中文,需要你手动改为数字或英文再试应该就没有问题了) 希望大家学习快乐!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3