From 6b03bf6bd765e8c54bcb3504b85a86dbc122ee9c Mon Sep 17 00:00:00 2001 From: tianduanrui <2407223896@qq.com> Date: Sat, 26 May 2018 16:13:46 +0800 Subject: [PATCH] update readme --- QQtExample.pro | 3 ++ README.md | 7 ++-- multi-link.md | 22 +++++++++++ multi-link/add_version.pri | 7 +++- src/qqt_3rdparty.pri | 2 +- .../QQtSubDirsApp1/QQtSubDirsApp1.pro | 38 +++++++++++++++++++ .../QQtSubDirsApp1/main.cpp | 11 ++++++ .../QQtSubDirsApp1/mainwindow.cpp | 14 +++++++ .../QQtSubDirsApp1/mainwindow.h | 22 +++++++++++ .../QQtSubDirsApp1/mainwindow.ui | 24 ++++++++++++ .../SubDirBaseManagerTest.pro | 6 +++ 11 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 test/SubDirBaseManagerTest/QQtSubDirsApp1/QQtSubDirsApp1.pro create mode 100644 test/SubDirBaseManagerTest/QQtSubDirsApp1/main.cpp create mode 100644 test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.cpp create mode 100644 test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.h create mode 100644 test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.ui create mode 100644 test/SubDirBaseManagerTest/SubDirBaseManagerTest.pro diff --git a/QQtExample.pro b/QQtExample.pro index bf6a28f3..b4200cdc 100644 --- a/QQtExample.pro +++ b/QQtExample.pro @@ -165,3 +165,6 @@ SUBDIRS += test/QQtWidgetClickSoundHelperTest #这是一对,用于测试Multi-link对其他的lib的链接能力 SUBDIRS += test/QQtMultiLinkTest + +#在subdirs里面添加一次add_base_manager.pri是否可以影响全部子工程 +SUBDIRS += test/SubDirBaseManagerTest diff --git a/README.md b/README.md index 10fa281f..56c0bd5e 100644 --- a/README.md +++ b/README.md @@ -50,9 +50,6 @@ github link: https://github.com/AbelTian/LibQQt 2. QQtWord,支持doc文档编写,输出pdf格式。 4. QQtTreeView,添加Qt4内部没有TreeView - 包括QQtXmlTreeModel、QQtJsonTreeModel、QQtFileSystemTreeModel、QQtSqlTreeModel -5. 支持工程的版本变更 - - 在[qqt_version.pri](src/qqt_version.pri)里面是QQt的版本和源文件内版本宏定义 - - 在[app_version.pri](app/app_version.pri)里面是App的版本和源文件内版本宏定义 6. QQt通讯套件。 - 通讯口类 - QQtSerialPort 兼容QSerialPort and QextSerialPort @@ -74,8 +71,10 @@ github link: https://github.com/AbelTian/LibQQt 2. 添加核心类之[QQtDictionary](src/core/qqtdictionary.h) - 化解C Plus Plus中没有字典类别的尴尬。 3. 添加Multi Link工程管理pri组 - - [Multi Link technology](src/app_multi_link_technology.pri),既多链接工程管理技术。 + - [Multi Link technology](multi-link/add_multi_link_technology.pri),既多链接工程管理技术。 + - [add_base_manager.pri](multi-link/add_base_manager.pri),app和lib工程的基础管理者。 - 基于qmake,用户可以轻易的链接LibQQt和添加自定义library。 + - 工程版本变更可以使用add_version(1,0,0,0)实现了。 4. 添加gif support Widgets - 可以方便的设置动态按钮等。 - 有[QQtGifWidget](src/exquisite/gifwidgets/qqtgifwidget.h)、QQtGifButton等。 diff --git a/multi-link.md b/multi-link.md index bb2cac57..75283302 100644 --- a/multi-link.md +++ b/multi-link.md @@ -39,3 +39,25 @@ - 初步规划用户要clone到library目录。 相信在Multi Link技术的帮助下,用户开发Library和Application肯定会如虎添翼,节省巨大的工时和精力。(现在仅仅支持LibQQt使用) + +# Multi-link技术完成 + +千等万等,Multi-link技术终于现出原形了。 +修复了发布QQt SDK无处安置的问题。 + +1. include(.../multi-link/add_base_manager.pri) + - 这里是多链接技术一切的开始。 +2. 提供函数 + - add_sdk() (lib工程用) + - add_version() + - add_deploy() + - add_deploy_library() + - add_deploy_config() + - add_header() + - add_local_header() + - add_library() + - add_defines() + - add_language() + - add_zh_CN_en_US() +3. 彻底的脱离了libQQt,可是依然将其自动链接在内,有Multi-link帮助,用户可以任意的在app和lib之间设计链接关系了。 +4. QQt提供的强大功能,并没有因为Multi-link的升级而改变,依然强大。 diff --git a/multi-link/add_version.pri b/multi-link/add_version.pri index dcdbd004..0a7f29f6 100644 --- a/multi-link/add_version.pri +++ b/multi-link/add_version.pri @@ -75,8 +75,11 @@ defineTest(add_version) { #源代码 域宏 DEFINES += VERSION=$${APP_VERSION} - DEFINES += LIB_VERSION=$${APP_VERSION} - DEFINES += APP_VERSION=$${APP_VERSION} + contains(TEMPLATE, lib){ + DEFINES += LIB_VERSION=$${APP_VERSION} + } else : contains(TEMPLATE, app) { + DEFINES += APP_VERSION=$${APP_VERSION} + } #工程版本设置 VERSION = $${APP_VERSION} diff --git a/src/qqt_3rdparty.pri b/src/qqt_3rdparty.pri index f860acc7..98997179 100644 --- a/src/qqt_3rdparty.pri +++ b/src/qqt_3rdparty.pri @@ -86,7 +86,7 @@ contains (DEFINES, __NETWORKSUPPORT__) { #mingw 如果以前编译过mingw,然后编译+MSVC支持的版本,这个模块可能符号未导出。 #这个问题,我也不知道原因,通过手动修改(touch)一下gumbo.h可以解决。 #如果还是不对,那么需要为 gumbo parser 添加 gumbolocal.h。 - #如果有用户需要到处 gumbo parser的函数,那么必须加gumbolocal.h控制 + #如果有用户需要导出 gumbo parser的函数,那么必须加gumbolocal.h控制 #gumbo query默认已经导出。 win32 { contains (DEFINES, QQT_LIBRARY) { diff --git a/test/SubDirBaseManagerTest/QQtSubDirsApp1/QQtSubDirsApp1.pro b/test/SubDirBaseManagerTest/QQtSubDirsApp1/QQtSubDirsApp1.pro new file mode 100644 index 00000000..616ad2aa --- /dev/null +++ b/test/SubDirBaseManagerTest/QQtSubDirsApp1/QQtSubDirsApp1.pro @@ -0,0 +1,38 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2018-05-26T14:53:22 +# +#------------------------------------------------- + +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +TARGET = QQtSubDirsApp1 +TEMPLATE = app + +# The following define makes your compiler emit warnings if you use +# any feature of Qt which has been marked as deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if you use deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#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 + +#这个地方qmake报错,找不到,找不到就找不到吧,不处理了。 +add_version(1,0,0,0) +add_deploy() diff --git a/test/SubDirBaseManagerTest/QQtSubDirsApp1/main.cpp b/test/SubDirBaseManagerTest/QQtSubDirsApp1/main.cpp new file mode 100644 index 00000000..b48f94ec --- /dev/null +++ b/test/SubDirBaseManagerTest/QQtSubDirsApp1/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.cpp b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.cpp new file mode 100644 index 00000000..49d64fce --- /dev/null +++ b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.cpp @@ -0,0 +1,14 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.h b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.h new file mode 100644 index 00000000..a3948a91 --- /dev/null +++ b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.h @@ -0,0 +1,22 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private: + Ui::MainWindow *ui; +}; + +#endif // MAINWINDOW_H diff --git a/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.ui b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.ui new file mode 100644 index 00000000..6050363f --- /dev/null +++ b/test/SubDirBaseManagerTest/QQtSubDirsApp1/mainwindow.ui @@ -0,0 +1,24 @@ + + MainWindow + + + + 0 + 0 + 400 + 300 + + + + MainWindow + + + + + + + + + + + diff --git a/test/SubDirBaseManagerTest/SubDirBaseManagerTest.pro b/test/SubDirBaseManagerTest/SubDirBaseManagerTest.pro new file mode 100644 index 00000000..fa54a7a7 --- /dev/null +++ b/test/SubDirBaseManagerTest/SubDirBaseManagerTest.pro @@ -0,0 +1,6 @@ +TEMPLATE = subdirs + +include (../../multi-link/add_base_manager.pri) + +SUBDIRS += \ + QQtSubDirsApp1