图片浏览器
来源:互联网 发布:淘宝基础版全套代码 编辑:程序博客网 时间:2024/05/29 13:11
/* widget.h*/#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QLabel>#include <QPushButton>#include <QMouseEvent>class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0); ~Widget();public slots: void lefebut(); void rightbut(); void openbut(); void showpic() { lab->setPixmap(QPixmap(files[len])); }signals: sendmesg();//发送信号protected: void keyPressEvent(QKeyEvent *event); /* 键盘按键 */ void wheelEvent(QWheelEvent *event); /* 鼠标滚动 */ void mousePressEvent(QMouseEvent *event);private: QLabel *lab; QPushButton *btn_l, *btn_r,*btn_o; int len; QStringList files;};#endif // WIDGET_H/* widget.cpp*/#include "widget.h"#include <QVBoxLayout>#include <QHBoxLayout>#include <QFileDialog> /* 文件对话框*/#include <QDebug>Widget::Widget(QWidget *parent) : QWidget(parent){ setFixedSize(640, 480); btn_l = new QPushButton("<-",this); btn_o = new QPushButton("O",this); btn_r = new QPushButton("->",this); lab = new QLabel(this); lab->setScaledContents(true); QHBoxLayout *hbox = new QHBoxLayout; hbox->addStretch(); hbox->addWidget(btn_l); hbox->addWidget(btn_o); hbox->addWidget(btn_r); hbox->addStretch(); QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(lab); vbox->addLayout(hbox); setLayout(vbox); connect(btn_o, SIGNAL(clicked()), this, SLOT(openbut())); connect(btn_r, SIGNAL(clicked()), this, SLOT(rightbut())); connect(btn_l, SIGNAL(clicked()), this, SLOT(lefebut())); connect(this, SIGNAL(sendmesg()), this, SLOT(showpic()));}Widget::~Widget(){}void Widget::mousePressEvent(QMouseEvent *event){ if (1 == event->button()) { if (0 == (len)) { len = files.length() - 1; lab->setPixmap(QPixmap(files[len])); } else { len--; lab->setPixmap(QPixmap(files[len])); } } else if (2 == event->button()) { if ((files.length() - 1) == (len)) { len = 0; lab->setPixmap(QPixmap(files[len])); } else { len++; lab->setPixmap(QPixmap(files[len])); } } emit sendmesg();//发送信号}void Widget::keyPressEvent(QKeyEvent *event) /* 键盘按键 */{ if (Qt::Key_1 == event->key()) { if (0 == (len)) { len = files.length() - 1; lab->setPixmap(QPixmap(files[len])); } else { len--; lab->setPixmap(QPixmap(files[len])); } } else if (Qt::Key_2 == event->key()) { if ((files.length() - 1) == (len)) { len = 0; lab->setPixmap(QPixmap(files[len])); } else { len++; lab->setPixmap(QPixmap(files[len])); } } emit sendmesg();//发送信号}void Widget::wheelEvent(QWheelEvent *event) /* 鼠标滚动 */{ if (-120 == event->delta()) { if (0 == (len)) { len = files.length() - 1; lab->setPixmap(QPixmap(files[len])); } else { len--; lab->setPixmap(QPixmap(files[len])); } } else if (120 == event->delta()) { if ((files.length() - 1) == (len)) { len = 0; lab->setPixmap(QPixmap(files[len])); } else { len++; lab->setPixmap(QPixmap(files[len])); } } emit sendmesg();//发送信号}void Widget::lefebut(){ if (0 == (len)) { len = files.length() - 1; lab->setPixmap(QPixmap(files[len])); } else { len--; lab->setPixmap(QPixmap(files[len])); }}void Widget::rightbut(){ if ((files.length() - 1) == (len)) { len = 0; lab->setPixmap(QPixmap(files[len])); } else { len++; lab->setPixmap(QPixmap(files[len])); }}void Widget::openbut(){ files = QFileDialog::getOpenFileNames(this, "Open Image", ".","Images (*.png *.jpg *.xpm)"); len = 0; qDebug() << "---1---" <<len; lab->setScaledContents(true); lab->setPixmap(QPixmap(files[len]));}/* main.cpp*/#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
阅读全文
0 0
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 图片浏览器
- 小巧工具--图片浏览器
- 用浏览器浏览图片
- VB制作图片浏览器
- js 图片切换浏览器
- [VB.NET]图片浏览器
- 手机浏览器图片显示
- 简单的图片浏览器
- Js图片浏览器
- Centos 6.2 安装Mysql笔记
- List of Java keywords
- linux系统修改系统时间与时区
- leetcode---distinct subsequences---dp
- 【HDU 6201】transaction transaction transaction 【费用流】
- 图片浏览器
- HTTPS协议与HTTP协议的区别
- BZOJ 3130 浅谈二分+实数范围网络流
- 错排问题:HDU-2048 神、上帝以及老天爷
- 信号处理机制
- Android优秀第三方开源(一)
- session的权限判断
- Unity3D_楼梯算法
- iOS之SHA1算法