资源简介
Qt Image通过Qt4的QImage类读取图片,格式包括现在主要的jpg, png, bmp, gif等格,可以通过它来观看照片,下一张照片的快捷键为空格,上一张的快捷键则是Backspace,通过左边的TreeView选择照片目录,选择的目录如果有照片的话,Qt Image会读取这些照片信息,然后显示第一张照片。

代码片段和文件信息
#include
#include
#include
#include
#include “ImageViewer.h“
ImageViewer::ImageViewer(QWidget *parent)
: QMainWindow(parent) scaleFactor(1)
{
setupUi(this);
imageLabel = new QLabel;
imageLabel->setBackgroundRole(QPalette::base);
imageLabel->setSizePolicy(QSizePolicy::Ignored QSizePolicy::Ignored);
imageLabel->setScaledContents(true);
scrollArea = new QScrollArea;
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(imageLabel);
setCentralWidget(scrollArea);
dirModel = new QDirModel(this);
dirModel->setFilter(QDir::Dirs | QDir::Drives);
dirCurrent = new QDir();
imageInfo = new QLabel(this);
imageInfo->setSizePolicy(QSizePolicy::ExpandingQSizePolicy::Expanding);
imageInfo->setAlignment(Qt::AlignCenter);
imageInfo->setStatusTip(tr(“Display image infomation in the selected folder“));
toolBar->addWidget(imageInfo);
treeView->setModel(dirModel);
treeView->header()->setVisible(false);
treeView->setColumnHidden(1true); // Size
treeView->setColumnHidden(2true); // Type
treeView->setColumnHidden(3true); // Modified Date
foreach (QByteArray ba QImageReader::supportedImageFormats())
{
QString ext = QString(“*.“)+QString(ba);
supportFormat< }
resize(780580);
currentFile = displayFiles.constBegin();
UpdateUI();
}
ImageViewer::~ImageViewer()
{
delete dirCurrent;
}
void adjustScrollBar(QScrollBar *scrollBar double factor)
{
scrollBar->setValue(int(factor * scrollBar->value()
+ ((factor - 1) * scrollBar->pageStep()/2)));
}
void ImageViewer::scaleImage(double factor)
{
Q_ASSERT(imageLabel->pixmap());
scaleFactor *= factor;
imageLabel->resize(scaleFactor * imageLabel->pixmap()->size());
adjustScrollBar(scrollArea->horizontalScrollBar() factor);
adjustScrollBar(scrollArea->verticalScrollBar() factor);
}
void ImageViewer::DisplayImage(const QString &fileName)
{
QImage image(fileName);
if (image.isNull()) {
QMessageBox::information(this tr(“Image Viewer“)
tr(“Cannot load %1.“).arg(fileName));
return;
}
imageLabel->setPixmap(QPixmap::fromImage(image));
scaleImage(1.0);
}
void ImageViewer::UpdateUI()
{
if(currentFile == displayFiles.constEnd())
{
imageInfo->setText(tr(“No Images Click TreeView to select pic folder“));
actionNext->setEnabled(false);
actionPrevious->setEnabled(false);
actionZoomIn->setEnabled(false);
actionZoomOut->setEnabled(false);
actionNormalSize->setEnabled(false);
}
else
{
int i = displayFiles.indexOf(*currentFile 0) + 1; // non-Programmer count from 1 instead 0
imageInfo->setText(QString(tr(“%1/%2 %3 %4%“)).arg(i).arg(displayFiles.size()).arg(*currentFile).arg(scaleFactor*100 3));
actionNext->setEnabled(true);
actionPrevious->setEnabled(true);
actionZoomIn->setEnabled(true);
actionZoomOut->
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 934 2006-08-27 16:43 QtImage\ImageViewer.h
文件 4691 2006-08-27 22:51 QtImage\ImageViewer.cpp
文件 215 2006-08-16 21:30 QtImage\main.cpp
文件 53248 2006-08-27 22:53 QtImage\QtImage.exe
文件 405 2006-08-17 15:55 QtImage\QtImage.pro
文件 296 2006-08-27 03:36 QtImage\QtImageRes.qrc
文件 4217 2006-08-27 16:55 QtImage\ImageViewer.ui
文件 929 2004-10-13 08:57 QtImage\images\about.png
文件 982 2004-10-13 09:02 QtImage\images\apply.png
文件 754 2004-10-13 09:31 QtImage\images\next.png
文件 703 2004-10-13 09:31 QtImage\images\previous.png
文件 877 2004-10-15 08:55 QtImage\images\zoomin.png
文件 1107 2004-10-13 08:59 QtImage\images\zoomnormal.png
文件 886 2004-10-15 08:54 QtImage\images\zoomout.png
目录 0 2010-04-21 02:16 QtImage\images
目录 0 2010-04-21 02:16 QtImage
----------- --------- ---------- ----- ----
70244 16
- 上一篇:fakeapp2.2安装包
- 下一篇:WinIoLib库
相关资源
- 海思HISI3516DV300开发板QT应用显示界面
- mgn-mqt82.exe
- Trojan-Qt5-Windows-0.0.4.rar
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
评论
共有 条评论