04 QT实现一个简单的看图程序
来源:互联网 发布:情义我心知黎明 编辑:程序博客网 时间:2024/06/05 18:54
QDir类用于管理目录的操作
QDir(const QString &path = QString())
//创建对象时,可以指定此对象是操作的目录的路径
QStringList entryList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const
//获取目录里的文件名,并过滤。 返回一个字符串数组的首地址
// QStringList其实就类模板QList<QString>
QString path() const
// 获取当前对象所操作的目录路径
main.cpp
#include <QApplication>#include <QWidget>#include <QPixmap>#include <QDir>#include <QDebug>#include <QLabel>#include <QKeyEvent>#include <QResizeEvent>class MyWin : public QWidget {private: QDir *dir; //指向操作目录的对象 QStringList files; //存放文件名列表 QLabel *label; //用于显示图像 int num; //记录当前显示的是第几个文件protected: void keyPressEvent(QKeyEvent *e); //捕捉按键事件 void resizeEvent(QResizeEvent *event); //捕捉窗口大小发生改变的事件public: MyWin(QString dir_path, QWidget *parent = NULL); //创建对象时需指定图像文件的路径 ~MyWin();};MyWin::MyWin(QString dir_path, QWidget *parent) : QWidget(parent){ label = new QLabel(this); dir = new QDir(dir_path); // 创建目录对象,并指定操作的目录路径 QStringList filters; //用于指定过滤文件类型 filters << "*.jpg" << "*.bmp" << "*.png"; //指定只获取扩展名为这三种的图像文件名 files = dir->entryList(filters, QDir::Files, QDir::Time); //获取目录里面的过虑后的文件名 num = 0; //初始时,显示第0张图 if (0 == files.size()) //如果获取文件的个数为0时不显示图像. return; label->resize(this->size()); //设置标签为窗口的大小 label->setScaledContents(true); //缩放图像 label->setPixmap(QPixmap(dir->path()+"/"+files[0])); //不要忘了操作符重载}MyWin::~MyWin(){ delete dir; delete label;}void MyWin::keyPressEvent(QKeyEvent *e){ int n = num; if (0 == files.size()) return; switch (e->key()) { case Qt::Key_Left: //看前一张图像,如果到头,则改为从最后一张开始 n--; if (n < 0) n = files.size()-1; break; case Qt::Key_Right: //看后一张图像,如果到最后,则改为从第一张重新开始 n++; if (n >= files.size()) n = 0; break; } if (n == num) return; num = n; label->setPixmap(QPixmap(dir->path()+"/"+files[n]));}void MyWin::resizeEvent(QResizeEvent *event){ label->resize(event->size()); //标签大小随窗口大小改变而改变}int main(int argc, char *argv[]){ QApplication a(argc, argv); MyWin win("/icons"); MyWin win2("/disk3/allshares"); win.show(); win2.show(); return a.exec();}
0 0
- 04 QT实现一个简单的看图程序
- 一个简单的 Qt GUI 程序
- 一个简单的Qt socket 程序
- qt 一个简单的表格程序
- Qt实现简单的程序自动更新
- QT实现一个简单的计算器
- QT实现一个简单的计算器
- Qt实现一个简单的打字游戏
- 从一个很很简单的程序看指针
- 从一个简单的聊天程序SimpleChat看VPN技术
- qt-opengl 初学的一个简单的程序
- 朋友圈一个简单的看图功能
- Qt入门-构建一个简单的窗体程序
- QT入门-一个简单的计算器程序
- Qt Quick学习---------------构建一个简单的qml程序
- 用Qt Creator编写一个简单的窗口程序
- Qt Quick学习---------------构建一个简单的qml程序
- C++/Qt中一个简单的加密解密程序
- STL的六大组件
- 区分元素特性attribute和对象属性property
- Java 多线程 并发编程
- 【栈】洛谷 P1449 后缀表达式
- Numpy详解
- 04 QT实现一个简单的看图程序
- JDK工具
- yii mogodb 存储文件 model 验证
- web实现一个按钮从前端到后端的简单流程
- Linux Top 命令解析
- javaweb中MVC模式
- java__for输出棱形
- 从页面接收json格式的数据,在java类里面进行解析
- 被嫌弃的eval和with