From 0469afeb05c8e30a7dfc3dd2c00eba0cbe04d243 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Tue, 27 Oct 2020 13:19:09 +0800 Subject: [PATCH] init commit --- .gitignore | 73 ++++++++++++++++++++++++++++++++ kimageformats-psdplugin-test.pro | 24 +++++++++++ main.cpp | 13 ++++++ mainwindow.cpp | 33 +++++++++++++++ mainwindow.h | 24 +++++++++++ mainwindow.ui | 47 ++++++++++++++++++++ 6 files changed, 214 insertions(+) create mode 100644 .gitignore create mode 100644 kimageformats-psdplugin-test.pro create mode 100644 main.cpp create mode 100644 mainwindow.cpp create mode 100644 mainwindow.h create mode 100644 mainwindow.ui diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1358d83 --- /dev/null +++ b/.gitignore @@ -0,0 +1,73 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/kimageformats-psdplugin-test.pro b/kimageformats-psdplugin-test.pro new file mode 100644 index 0000000..07e1100 --- /dev/null +++ b/kimageformats-psdplugin-test.pro @@ -0,0 +1,24 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# You can make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + mainwindow.cpp + +HEADERS += \ + mainwindow.h + +FORMS += \ + mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..05e1dd6 --- /dev/null +++ b/main.cpp @@ -0,0 +1,13 @@ +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + // 把 kimageformats 构建生成的目录里的 bin 目录的完整路径改到下面,这样程序会去这个目录查找并启用图像格式插件。 + QCoreApplication::addLibraryPath(R"(C:\Users\Gary\Source\build-kimageformats-Desktop_Qt_5_14_2_MinGW_64_bit-Debug\bin)"); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..c6fdb70 --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,33 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +#include +#include + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + + +void MainWindow::on_pushButton_clicked() +{ + // 如果输出里有 psd 说明确实加载进去了 + qDebug() << QImageReader::supportedImageFormats(); + + // 后面的文件改成 psd 文件的路径 + QScopedPointer< QImageReader> ir(new QImageReader(R"(E:\ff.psd)")); + qDebug() << ir->canRead(); + QImage read = ir->read(); + if (read.isNull()) { + qDebug() << "read is null"; + } + ui->label->setPixmap(QPixmap::fromImage(read)); +} diff --git a/mainwindow.h b/mainwindow.h new file mode 100644 index 0000000..e02a946 --- /dev/null +++ b/mainwindow.h @@ -0,0 +1,24 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private slots: + void on_pushButton_clicked(); + +private: + Ui::MainWindow *ui; +}; +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..303d58c --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,47 @@ + + + MainWindow + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + + 0 + 0 + 801 + 561 + + + + TextLabel + + + + + + 0 + 570 + 801 + 24 + + + + PushButton + + + + + + +