资源简介
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库
相关资源
- Qt实现邮箱客户端
- Qt QSerialPort 通信 源码
- 重写QLabel实现图片显示框选截取保存
- QT5串口通信Hex格式传输
- QT之动态进度条
- QT一个多界面自由切换代码
- 基于QT开发的员工管理系统-云邮
- Qt 实现串口控制台,适配RT-Thread的F
- Myserialport.rar286121
- Deep_learning_GUI.rar
- qt+openc循线四旋翼
- Qt采集下位机数据并显示波形
- gstreamer+QT播放器
- Qt编写调用网络摄像头完成视频录制、
- 循迹小车龙人宝贝五角星寻迹程序Q
- Qt 键盘事件代码
- 用Qt5写的天气预报界面
- Qt5做的高仿计算器
- Qtp12加破解,无限使用
- Qt串口接收数据实时曲线
- QT图书管理系统
- qtp12版本 utf 资源绝对有效
- Qt绘制的电池电量显示小Demo
- Qt5下windows主机的usb上位机开发第三方
- Qt-二维码解码-QZXing库
- Qt-二维码-采用qrcode库
- Qt5开发及第2版陆文周主编魅力实践发
- linux 下QT讯飞语音合成demo
-
基于QT的mpla
yer播放器.rar - ZXing二维码解析程序 V2.4(Qt解析二维
评论
共有 条评论