欢迎光临散文网 会员登陆 & 注册

1.Qt简单电子相册项目

2023-03-23 22:46 作者:ll光的地方  | 我要投稿


简陋的电子相册主界面

项目介绍:Qt电子相册项目------含有基本控件,含有图片的快速播放效果,暂停播放,上一张,下一张,图片的旋转,图片放大和缩小-----看图上的控件可以看的出来---随便找的图片

左下角是打开文件去找到你想要播放的那一部分图片

项目准备:肯定需要想好你需要什么功能,来找到对应的图片和选择你的控件

创建   photowidget   项目 

start

  1. 创建资源文件:(把你的找到的图片放到当前工程下imge文件夹中),添加前缀为/,然后把文件夹中的图片全部加入里面

2.在UI界面,分别拖动相应的控件去添加类似主界面中,并且改成为相应的对象名字,删除文本加入资源文件图片在控件上

所有的控件

为什么用QScroolArea:当图片放大的时候我们我们可以滑动两边的边框来设置看图片

3.把所有的控件按钮设置利用 信号和槽函数 来实现所有的功能

注意;这里利用了定时器的操作来播放一系列图片

4.一步一步实现相应的槽函数功能

相应的对应的变量和函数

知识点整理:

QPainterDevice(绘图设备)-----和绘图相关的类:

一般有QImage ,QPixmap ,QPicture  ,QWidget --------等!!!!!!!

在我的看法:对于绘画和显示来说,这些设备就是显示相应图片和绘画的控件

QPixmap:图片类,主要的用处就是显示图片,对图片的显示做优化处理,和平台有关

  QImage:图片类,图依赖于平台,多用于图片的传输,可以做像素级的修改

 Qbitmap:黑白的图片,和其他绘图设备差不多用法

 QPicture:可以理解为是一个绘图的容器,里面保存有绘图的记录和重绘的指令,存         储的形式是二进制形式,也就是说我们无法直接双击打开picture()图片

在现在的阶段只需要知道,Qimage是保存很多图片信息的类控件,里面有绘图信息,我们可以通过painter等来画这些图片在其他的设备上


调色板 QPalette

Qt提供的调色板类QPalette专门管理对话框的外观显示;//不是直接类似给控件设置那个资源文件,类似为控件设置相应的背景信息

Qpalette类相当于对话框或控件的调色板,他管理着控件或窗体的所有颜色(背景)信息。感觉这里的颜色是比较笼统的概念

重点:每一个窗体或控件都包含一个Qpalette对象,在显示时,按照它的Qpalette对象中各部分状态下颜色的描述进行绘制

所以每一个控件设置调色板也就相当于设置自己窗体的颜色信息

列:QImage image;                //定义一个设备类吧!

     image.load(":/image/mainbg.jpeg");     //上载图片资源

     QPalette palette;                  //定义一个调色板

     palette.setBrush(this->backgroundRole(),QBrush(image)); 

    //设置调色板相应的信息

   this->setPalette(palette);

QTimer ---定时器---:

提供了重复和单次触发信号的定时器。

1.     void timeout()为信号,定时器超时后,这个信号被发射

2.     void start()为开启定时器函数,它的重载函数void start(int msec),启动或者重新启动一个超时时间间隔为毫秒的定时器,个定时器正在运行,他将被停止和重新启动

3.     void stop()停止定时器

打开含有图片相应的文件,要自己打开

Qt基本对话框:

1.     QFileDialog类------(标准文件对话框) ----打开文件之前用,方便操作文件,

静态函数 getOpenFileName  返回用户打开的文件名,并且打开文件

常与文件操作联系,上面代码中的是打开目录的文件,是目录操作


Qt目录操作(QDir) :QDir 类有存取目录结构和内容的能力,使用他可以操作目录,存取目录和文件的信息,操作底层系统文件系统,而且还可以存取Qt的资源文件

Qt用/作为通用的目录分隔符和URL路径分隔符。Linux和Windows的分隔符不同,可以使用静态成员 separator()返回适合的分隔符

在我的理解就是一个文件的框架,他的一些函数可以返回目录里面的相应的信息,比如返回你选择目录的路径,你选择文件目录里面的路径(文件名)等,方便其他的类去操作相应路径下的信息吧!!!                      绝对路径:从根目录开始,是一个完整的路径

目录的路径可以通过path()函数返回,通过setPath()设置新路径。

绝对路径使用absolute()返回,目录名可以用dirName()获得

entryList()返回目录下所有条目组成的字符串链表----常和QStringList 连用


//加载目录下第i个文件

load(Dir.absolutePath()+QDir::separator()+QStringList.at(i));



Qt 图像的坐标变换

QMatrix类提供了世界坐标系的二维转换功能,可以使窗体装换变形,经常在绘图程序中使用,还可以实现坐标系统的移动,放大,减小,变形,旋转功能

列: img=img.transformed(matrix.scale(2))  ;

提供了一系列图像变换的功能函数

图片变换两部:1.Matrix 设置变换  2.image类进行使用




这次的项目学习就到这里!!!!


如果想让up继续更新在这上面,请给UP一个赞的鼓励!!!!谢谢


1.Qt简单电子相册项目的评论 (共 条)

分享到微博请遵守国家法律