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

梧州网站建设厂家微信软文推广怎么做

梧州网站建设厂家,微信软文推广怎么做,wordpress添加访问人数,网站建设 报价单本章我们将学习如何向 Qt Creator 的菜单栏添加内容。在上一章插件的基础之上#xff0c;我们将尝试开发一个比较正式的插件——在菜单栏中可以看到#xff0c;并且可以相应用户动作等。在我们开始之前#xff0c;我们先来看看 Qt Creator 已有的菜单#xff1a;Qt Creator…本章我们将学习如何向 Qt Creator 的菜单栏添加内容。在上一章插件的基础之上我们将尝试开发一个比较正式的插件——在菜单栏中可以看到并且可以相应用户动作等。在我们开始之前我们先来看看 Qt Creator 已有的菜单Qt Creator 的默认菜单(部分)是FileNewOpenRecent FilesEditAdvancedToolsExternalWindowPanesViewsHelp注意我们这里只是列出了 Qt Creator 默认的菜单其它菜单比如构建和调试是由插件提供的而不是 Qt Creator 的默认菜单。为查看这一点我们可以将 Qt Creator 的“已安装的插件”对话框中所有能去掉的插件全部去掉重启 Qt Creator 看看效果。作为一个 Qt 开发人员我们知道所有菜单都是在QMenuBar类中提供的并且有一个QMenu对象与上面各项相关联。Core::ActionManager实际上Qt Creator 主程序仅仅是一个插件加载器。Qt Creator 所提供的所有功能都是通过插件实现的。QtCreator 最主要的一个插件叫做“core”。如果没有这个插件Qt Creator 就真的什么都不是了(甚至连个插件加载器都不是了)。“core” 的关键组件是ActionManager。ActionManager 的作用是注册菜单、菜单项以及键盘快捷键。所以如果我们想要添加新的菜单或菜单项我们就需要使用ActionManager。我们会在下文详细介绍这个内容。为了访问到 ActionManager我们可以使用下面的代码#include #include Core::ActionManager* am Core::ICore::instance()-actionManager();Core::ActionContainerActionContianer表示 Qt Creator 中的菜单项或者菜单栏。我们从来不会直接创建ActionContainer的实例而是通过ActionManager::createMenu()、ActionManager::createMenuBar()这样的函数进行创建。我们会在后文对此进行详细介绍。Qt Creator 每一个默认菜单都关联一个ActionContainer对象。给定一个菜单获取其关联的ActionContainer对象可以使用下面的代码#include #include #include #include Core::ActionManager* am Core::ICore::instance()-actionManager();Core::ActionContainer* ac am-actionContainer( ID );下面表格给出了 Qt Creator 每个菜单的 ID。这些都是Core命名空间中的静态const char *常量。我们可以在 $$QT_CREATOR_ROOT/src/plugins/coreplugin/coreconstants.h 中找到这些定义。菜单IDFileCore::Constants::M_FILEFile - OpenCore::Constants::M_FILE_OPENFile - NewCore::Constants::M_FILE_NEWFile - Recent FilesCore::Constants::M_FILE_RECENTFILESEditCore::Constants::M_EDITEdit - AdvancedCore::Constants::M_EDIT_ADVANCEDToolsCore::Constants::M_TOOLSTools - ExternalCore::Constants::M_TOOLS_EXTERNALWindowCore::Constants::M_WINDOWWindow - PanesCore::Constants::M_WINDOW_PANESWindow - ViewsCore::Constants::M_WINDOW_VIEWSHelpCore::Constants::M_HELP如果我们想要访问“Help”菜单我们可以使用如下的代码#include #include #include #include Core::ActionManager* am Core::ICore::instance()-actionManager();Core::ActionContainer* ac am-actionContainer( Core::Constants::M_HELP );添加菜单项下面我们重新回到上一章中已经编写完成的 DoNothing 插件。现在我们希望向“Help”菜单中增加一个 “About DoNothing” 菜单项。于是我们需要修改 DoNothingPlugin.cpp 文件如下#include #include #include #include bool DoNothingPlugin::initialize(const QStringList args, QString *errMsg){Q_UNUSED(args);Q_UNUSED(errMsg);Core::ActionManager* am Core::ICore::instance()-actionManager();Core::ActionContainer* ac am-actionContainer(Core::Constants::M_HELP);QAction* aboutDoNothing ac-menu()-addAction(About DoNothing);return true;}好了这样就可以了“About DoNothing” 此时就已经出现在 “Help” 菜单下重新编译下我们的插件然后启动 Qt Creator看看我们新增的菜单项不过这样做还是有一些缺憾。虽然我们的代码能够正常工作但是这并不是推荐的做法。Qt Creator 的所有菜单项都应该出现在选择里面的 “Keyboard Shortcuts” 中按照我们前面的做法我们会失望地发现我们的插件虽然添加了新的菜单项但并没有在 “Keyboard Shortcuts” 列出。为了达到这一目的我们需要向 Qt Creator 注册我们的菜单项。注册菜单项Core::Command类用于表示一个 action 动作例如菜单项 menu item、工具按钮 tool button或者是快捷键 shortcut。我们不应该直接创建Command对象而是应该使用ActionManager::registerAction()注册一个 action然后获取返回值其返回值就是一个Command。这个Command对象表示用户可见的 action 及其属性。下面代码显示了如何为我们的 DoNothing 插件注册 “About DoNothing” 菜单项#include #include #include #include #include bool DoNothingPlugin::initialize(const QStringList args, QString *errMsg){Q_UNUSED(args);Q_UNUSED(errMsg);// Fetch the action managerCore::ActionManager* am Core::ICore::instance()-actionManager();// Create a command for About DoNothing.Core::Command* cmd am-registerAction(new QAction(this),DoNothingPlugin.AboutDoNothing,Core::Context(Core::Constants::C_GLOBAL));cmd-action()-setText(About DoNothing);// Add the command to Help menuam-actionContainer(Core::Constants::M_HELP)-addAction(cmd);return true;}编译运行之后我们发现 “About DoNothing” 出现在 “Help” 菜单中但是这次出现在了开始位置。然后再打开 “Keyboard Shortcuts” 对话框我们已经能够找到 “About DoNothing”
http://www.sadfv.cn/news/21670/

相关文章:

  • 扬州天达建设集团有限公司网站网站登录模版
  • 门户网站建设 报价手机老是下载一些做任务的网站
  • wordpress 外贸 开发赣州网站优化公司
  • 做跨境电商的人才网站企业咨询服务有限公司
  • 北京市住房与城乡建设网站网站联合推广方案
  • 商城网站建设注意什么上海公司企业查询
  • 莱州环球网站建设做网站存在的问题
  • 团结湖网站建设建设充值网站多钱
  • 网站换域名做301会有影响网站自动弹窗代码
  • 深圳做自适应网站设计wordpress月会员
  • 网站关键词优化办法英雄联盟做的广告视频网站
  • 网站建设的技术路线中企动力300官网
  • 站长工具seo综合查询源码卖淘宝店铺平台有哪些
  • 山西做网站优势wordpress在线邮箱验证
  • 高新区做网站的公司外贸流程询盘
  • xml网站地图每天更新贵阳网站seo外包
  • 建设执业资格注册中心官方网站如何做微信ppt模板下载网站
  • 厦门做医院网站设计的公司如何设置网站默认首页
  • 网站制作软件手机版珠海模板建站公司
  • 有些网站域名解析错误网站如何做伪静态页面
  • 两学一做网站无法做题峨眉网站建设
  • 河北综合网站建设系列网站如何被收录
  • 企业门户网站升级vps怎么建多个网站
  • 吴忠市建设局网站广州公司电商网站建设
  • 滨州 网站开发市场推广方式有哪几种
  • 网站建设与制作实现精准营销Wordpress上传万网空间
  • 网站做的简单是什么意思个人网站的基本风格
  • 微商水印相机做网站家乡网站建设可行性分析
  • 广州市花都区建设局网站免费做app
  • 网站建设公司响应式网站模板泉山微网站开发