当前位置: 首页 > news >正文

惠州企业网站seo公司营业执照不干了不注销会怎样

惠州企业网站seo公司,营业执照不干了不注销会怎样,有没有做宠物的网站,松江集团网站建设这里以Qt Creator 4.15.2版本的源码为示例进行分析 源码结构如下#xff0c;为了追溯其插件加载过程#xff0c;从main.cpp入手 Qt Creator的插件目录#xff0c;生成的插件#xff0c;好几十个呢 Qt Creator插件的读取 int main(int argc, char **argv)中以下代码创建插…这里以Qt Creator 4.15.2版本的源码为示例进行分析 源码结构如下为了追溯其插件加载过程从main.cpp入手 Qt Creator的插件目录生成的插件好几十个呢 Qt Creator插件的读取 int main(int argc, char **argv)中以下代码创建插件的管理 PluginManager pluginManager;PluginManager::setPluginIID(QLatin1String(org.qt-project.Qt.QtCreatorPlugin));PluginManager::setGlobalSettings(globalSettings);PluginManager::setSettings(settings); int main(int argc, char **argv)中以下设置插件的读取目录读取所有插件信息 const QStringList pluginPaths getPluginPaths() options.customPluginPaths;PluginManager::setPluginPaths(pluginPaths);//读取插件目录下的插件 从 PluginManager::setPluginPaths(pluginPaths)调用追溯到如下 void PluginManagerPrivate::setPluginPaths(const QStringList paths) {qCDebug(pluginLog) Plugin search paths: paths;qCDebug(pluginLog) Required IID: pluginIID;pluginPaths paths;readSettings();readPluginPaths(); } 继续追溯void PluginManagerPrivate::readPluginPaths() for (const QString pluginFile : pluginFiles(pluginPaths)) {PluginSpec *spec PluginSpec::read(pluginFile); PluginSpec *PluginSpec::read(const QString filePath) {auto spec new PluginSpec;if (!spec-d-read(filePath)) { // not a Qt Creator plugindelete spec;return nullptr;}return spec; } 其中bool PluginSpecPrivate::read(const QString fileName)方法读取了插件的基本信息 Qt Creator 加载插件 从main函数中的 PluginManager::loadPlugins();开始追溯插件的加载 void PluginManagerPrivate::loadPlugins() {//所有插件都会从loaded--initialized--runningconst QVectorPluginSpec * queue loadQueue();Utils::setMimeStartupPhase(MimeStartupPhase::PluginsLoading);for (PluginSpec *spec : queue)loadPlugin(spec, PluginSpec::Loaded);Utils::setMimeStartupPhase(MimeStartupPhase::PluginsInitializing);for (PluginSpec *spec : queue)loadPlugin(spec, PluginSpec::Initialized);Utils::setMimeStartupPhase(MimeStartupPhase::PluginsDelayedInitializing);Utils::reverseForeach(queue, [this](PluginSpec *spec) {loadPlugin(spec, PluginSpec::Running);//从这里开始加载插件...step2if (spec-state() PluginSpec::Running) {delayedInitializeQueue.push(spec);} else {// Plugin initialization failed, so cleanup after itspec-d-kill();}});... } 插件加载的几个主要步骤load, initialize, run 在 void PluginManagerPrivate::loadPlugin(PluginSpec *spec, PluginSpec::State destState)中 switch (destState) {case PluginSpec::Loaded:profilingReport(loadLibrary, spec);spec-d-loadLibrary();profilingReport(loadLibrary, spec);break;case PluginSpec::Initialized:profilingReport(initializePlugin, spec);spec-d-initializePlugin();profilingReport(initializePlugin, spec);break;case PluginSpec::Stopped:profilingReport(stop, spec);if (spec-d-stop() IPlugin::AsynchronousShutdown) {asynchronousPlugins spec;connect(spec-plugin(), IPlugin::asynchronousShutdownFinished,this, PluginManagerPrivate::asyncShutdownFinished);}profilingReport(stop, spec);break;default:break;} 继续追溯bool PluginSpecPrivate::loadLibrary() if (!loader.load()) {//这里是加载插件hasError true;errorString QDir::toNativeSeparators(filePath) QString::fromLatin1(: ) loader.errorString();return false;} Qt Creator插件 合格的插件需要继承自IPlugin抽象类 以CppEditorPlugin为例 class CppEditorPlugin : public ExtensionSystem::IPlugin 看一下IPlugin类 #pragma once#include extensionsystem_global.h#include QObjectnamespace ExtensionSystem {namespace Internal {class IPluginPrivate;class PluginSpecPrivate; }class PluginManager; class PluginSpec;class EXTENSIONSYSTEM_EXPORT IPlugin : public QObject {Q_OBJECTpublic:enum ShutdownFlag {SynchronousShutdown,AsynchronousShutdown};IPlugin();~IPlugin() override;virtual bool initialize(const QStringList arguments, QString *errorString) 0;virtual void extensionsInitialized() {}virtual bool delayedInitialize() { return false; }virtual ShutdownFlag aboutToShutdown() { return SynchronousShutdown; }virtual QObject *remoteCommand(const QStringList /* options */,const QString /* workingDirectory */,const QStringList /* arguments */) { return nullptr; }virtual QVectorQObject * createTestObjects() const;PluginSpec *pluginSpec() const;signals:void asynchronousShutdownFinished();private:Internal::IPluginPrivate *d;friend class Internal::PluginSpecPrivate; };} // namespace ExtensionSystem实现具体的插件类时以下方法是必须重写的 virtual bool initialize(const QStringList arguments, QString *errorString) 0;
http://www.tj-hxxt.cn/news/134339.html

相关文章:

  • 网站建设和网站运营包括什么外贸建站教程
  • 铁汉生态建设有限公司网站上海哪家公司做网站比较好
  • 平面设计的网站搜索风云排行榜
  • 简单手机网站源码下载规划设计公司
  • 灰色网站设计学网页制作的好处
  • 昆明做网站报价英文外链平台
  • 深圳网站建设怎么选择服务器windos做网站
  • 网站建设续签合同怎么签网络营销企业网站优化
  • 网站 产品图片 尺寸荣成城市规划建设局网站
  • 河东天津网站建设做照片视频的网站
  • 做h游戏视频网站有哪些wordpress 准迁
  • 信息设计网站网站导航图怎么做
  • 济南便宜网站设计网络推广及网站建设合作协议
  • 大连承揽营销型网站公司山西建设厅官方网站专家库
  • 搜索引擎优化的名词解释现在网站优化
  • 南京佛搜做网站公司可以大量免费发帖的网站
  • 网络营销网站建设流程seo推广培训资料
  • 营销网站解决方案网站建设开发公司定制网站制作
  • 网站统计如何做河南企业网站建设公司
  • 网站建设礻金手指下拉十一重庆cms建站模板
  • 超链接对做网站重要吗网站开发技术总结
  • 深圳市盐田区住房建设局网站如何将自己做的网站传到网上
  • 手机网站在哪里找到做网站怎样连数据库
  • 做网站网站需要多少钱网站设计的要求有哪些
  • 做推广可以在哪些网站发布软文wordpress群晖
  • 浙江网站建设品牌设计网站仿站教程
  • 做汇算清缴在哪个网站下房产做网站是什么意思
  • 网站设计公司北京企业网站建设的类型
  • win7做系统网站哪个好四平网络推广
  • 软件优化网站佛山微信网站开发