笔者测试使用的Qt版本是4.4.1,这个版本的build system有个小毛病,就是如果你指定的qconfig参数实际上没有qconfig-xxx.h文件对应, build不会停止,它只会给出一个不起眼的提示,编译过程会继续, 这一点挺让人费解的。而且这种情况下Qt编译使用的配置基本上和fullconfig相同,鉴于它的让人迷惑的举动,个人觉得有必要提...
CONFIG += plugin QT += widgets INCLUDEPATH += ../MainWindow TARGET = $$qtLibraryTarget(calplugin) DESTDIR = ../plugins EXAMPLE_FILES = calplugin.json HEADERS += \ calplugin.h SOURCES += \ calplugin.cpp CONFIG += install_ok 主工程中调用插件 #include <QWidget> #include "calinterface....
2.创建插件(类),pro 文件中添加“CONFIG += plugin”。 3.使用/加载插件 插件是一种遵循一定规范的应用程序接口编写出来的程序,定位于开发实现应用软件平台不具备的功能的程序。 插件这个东西,唯一的作用就是“扩展程序的功能,丰富程序的应用”。 Qt提供了两种API用于创建插件: 一种是高阶API,用于扩展Qt本身的功...
注意:type 选择 Qt Plugin 修改plugin .pro 文件,将 主项目作为头文件加进来;设置生成 dll 目录; INCLUDEPATH += ../TestProject DESTDIR = ../TestProject/plugins 1. 2. completed code QT += gui TEMPLATE = lib CONFIG += plugin CONFIG += c++17 INCLUDEPATH += ../TestProject # You can make ...
CONFIG += install_ok # Do not cargo-cult this! 在插件子工程中添加一个插件类 EchoPlugin,实现如下: EchoPlugin.h 文件: #ifndefECHOPLUGIN_H#defineECHOPLUGIN_H#include<QObject>#include<QtPlugin>#include"EchoInterface.h"// 3.声明插件类,插件类继承自QObject和插件实现的接口classEchoPlugin:public ...
classPluginInterface { public: virtual~PluginInterface(){} virtualvoidrecMsgFromManager(PluginMetaData)=0;//接收来自插件管理器的消息 virtualvoidsendMsgToManager(PluginMetaData)=0;//发生消息到插件管理器 }; //一定是唯一的标识符 #define QT_BEGIN_NAMESPACE ...
步骤一:将CONFIG+=static添加到插件的.pro文件中。 步骤二:在应用程序中使用Q_IMPORT_PLUGIN()宏。 步骤三:如果插件附带qrc文件,请在应用程序中使用Q_INIT_RESOURCE()宏。 步骤四:使用.pro文件中的LIBS将应用程序与插件库链接。 注意:如果不使用qmake构建插件,则需要确保已定义QT_STATICPLUGIN预处理器宏。
myconfig.ui HEADERS 指定项目中所有的头文件。 qmake会自动检测是头文件的类中是否需要moc,并增加适当的依赖关系和文件到项目中,来生成和链接moc文件。 例如: HEADERS = myclass.h login.h mainwindow.h INCLUDEPATH 指定编译项目时应该被搜索的#include目录。
QStyle *MyStylePlugin::create(const QString &key) { if (key.toLower() == "mystyle") return new MyStyle; return 0; } 注意,由于 QStylePlugin 不区分大小写,create 函数的实现中使用了小写来判断,但是其他的插件基类区 分大小写时不可以转换成小写判断。
CONFIG+=designer plugin 4、QMake创建Debug 和Release 某些时候,构建同时支持debug和release的工程是必要的。虽然CONFIG变量有debug和release选项,但是debug选项会覆盖release选项。 为了开启工程同时支持debug和release,必须在CONFIG变量增加debug_and_release选项。