资源简介
qt处理图形
代码片段和文件信息
#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->
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-12-27 22:55 QtImage\
文件 1448 2020-12-27 19:12 QtImage\.qmake.stash
文件 4691 2006-08-27 22:51 QtImage\ImageViewer.cpp
文件 934 2006-08-27 16:43 QtImage\ImageViewer.h
文件 4217 2006-08-27 16:55 QtImage\ImageViewer.ui
文件 29093 2020-12-27 19:19 QtImage\Makefile
文件 48244 2020-12-27 19:19 QtImage\Makefile.Debug
文件 48260 2020-12-27 19:19 QtImage\Makefile.Release
文件 53248 2006-08-27 22:53 QtImage\QtImage.exe
文件 469 2020-12-27 19:18 QtImage\QtImage.pro
文件 24633 2020-12-27 22:55 QtImage\QtImage.pro.user
文件 296 2006-08-27 03:36 QtImage\QtImageRes.qrc
目录 0 2020-12-27 19:18 QtImage\debug\
文件 305601 2020-12-27 19:18 QtImage\debug\ImageViewer.obj
文件 125440 2020-12-27 19:18 QtImage\debug\QtImage.exe
文件 1433584 2020-12-27 19:18 QtImage\debug\QtImage.ilk
文件 2428928 2020-12-27 19:18 QtImage\debug\QtImage.pdb
文件 1757184 2020-12-27 19:18 QtImage\debug\QtImage.vc.pdb
文件 99791 2020-12-27 19:18 QtImage\debug\main.obj
文件 5100 2020-12-27 19:18 QtImage\debug\moc_ImageViewer.cpp
文件 105991 2020-12-27 19:18 QtImage\debug\moc_ImageViewer.obj
文件 229 2020-12-27 19:18 QtImage\debug\moc_predefs.h
文件 31284 2020-12-27 19:18 QtImage\debug\qrc_QtImageRes.cpp
文件 12166 2020-12-27 19:18 QtImage\debug\qrc_QtImageRes.obj
目录 0 2010-04-21 02:16 QtImage\images\
文件 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
............此处省略4个文件信息
- 上一篇:crc16/32计算(crc16_32.c)
- 下一篇:socket tcp应用
相关资源
- basler相机图像采集和显示
- 交互式计算机图形学 第六版 OpenGL源代
- c++ 画图(14Qt-XPS)
- 图形学简单绘图系统
- QT CAN例程
- 使用Qt实现Excel读取工具
- Qt 通讯软件模块的开发
- Qt TCP聊天室demo
- Qt曲线
- qt样式表武林秘籍(73页)
- stm32 MQTT
- 基于ege图形的推箱子游戏
- QT信号槽开发
- Wemos D1 mini阿里云MQTT例程
- QT 计算文件夹内所有代码行数
- qt写的记事本
- QT自定义皮肤例子56387
- qt上位机采集51单片机温湿度数据
- MQTT协议
- 五子棋C++(Qt版).zip
- OpenGL迷宫山东大学图形学实验三
- Qt飞机大战小游戏源代码
- 基于qt的c++编写的贪吃蛇游戏
- 嵌入式Qt实战教程.
- QT5.9_c++开发指南——随书[源码]
- 图书信息管理系统 vs 图形界面
- 基于Qt的智能停车场.rar
- QT实现视音频实时传输qml+C++
- C++时钟easyx实现
- mfc绘制任意图形,实现图形按比例缩
评论
共有 条评论