如何免费制作一个自己的网站秦皇岛手机网站制作价格

张小明 2026/1/11 18:16:58
如何免费制作一个自己的网站,秦皇岛手机网站制作价格,企业建站为什么选择网站定制,wap网站开发招聘使用Qt Creator创建和编辑状态图详细教程一、使用Qt Creator创建和编辑状态图1、创建新项目2、新建scxml文件3、编辑状态图实现下面这个状态二、如何使用状态图三、Qt SCXML 模块详解1、SCXML 概述2、Qt SCXML 模块的作用3、使用 Qt SCXML 模块的基本步骤3.1 编写 SCXML 文件3.…使用Qt Creator创建和编辑状态图详细教程一、使用Qt Creator创建和编辑状态图1、创建新项目2、新建scxml文件3、编辑状态图实现下面这个状态二、如何使用状态图三、Qt SCXML 模块详解1、SCXML 概述2、Qt SCXML 模块的作用3、使用 Qt SCXML 模块的基本步骤3.1 编写 SCXML 文件3.2 (可选但推荐) 使用 qscxmlc 编译 SCXML 文件3.3 在 Qt 项目中集成1、关键特性与优势5、示例编译后状态机的使用 (C)6、总结一、使用Qt Creator创建和编辑状态图1、创建新项目2、新建scxml文件3、编辑状态图实现下面这个状态scxmlxmlnshttp://www.w3.org/2005/07/scxmlversion1.0initialMainControl!-- 主控制状态 --stateidMainControlinitialtransitiontargetStopped//initial!-- 设备停止状态 --stateidStoppedonentrylogexpr设备已停止//onentrytransitioneventstarttargetRunning//state!-- 设备运行状态 --stateidRunninginitialPreparingonentrylogexpr设备启动中...//onentry!-- 准备阶段 --stateidPreparingtransitioneventreadytargetWorking//state!-- 工作阶段 --stateidWorkingtransitioneventemergency.stoptargetStopped/transitioneventpausetargetPaused//state!-- 暂停状态 --stateidPausedtransitioneventresumetargetWorking/transitioneventemergency.stoptargetStopped//state/state/state!-- 并行电池监控状态 --parallelidBatteryMonitorstateidNormaltransitioncondBatteryLevellt;20targetLowBattery//statestateidLowBatteryonentrylogexpr警告电量不足//onentrytransitioncondBatteryLevelgt; 20targetNormal//state/parallel!-- 全局事件处理 --transitioneventsystem.shutdowntargetShutdown/finalidShutdownonentrylogexpr系统关闭//onentry/final/scxml单击状态会出现箭头绘制完成查看结果?xml version1.0 encodingUTF-8?scxmlxmlnshttp://www.w3.org/2005/07/scxmlversion1.0bindingearlyxmlns:qthttp://www.qt.io/2015/02/scxml-extnameMainControlqt:editorversion18.0.0initialStoppedqt:editorinfoinitialGeometry221.80;107.85;-20;-20;40;40/stateidStoppedqt:editorinfoscenegeometry535.18;129.21;475.18;79.21;120;100geometry535.18;129.21;-60;-50;120;100/transitiontypeexternaleventstarttargetRunning//statestateidRunningqt:editorinfoscenegeometry419.70;326.60;-174.47;359.95;1419.29;255.59geometry419.70;326.60;-594.16;33.35;1419.29;255.59/stateidPreparingqt:editorinfoscenegeometry383.59;291.38;323.59;241.38;120;100geometry-490.41;161.15;-60;-50;120;100/transitiontypeexternaleventreadytargetWorking//statestateidWorkingqt:editorinfoscenegeometry471.49;487.75;411.49;437.75;120;100geometry51.79;161.15;-60;-50;120;100/transitiontypeexternaleventpausetargetPaused//statestateidPausedqt:editorinfoscenegeometry1616.74;291.38;1556.74;241.38;120;100geometry742.74;161.15;-60;-50;120;100/transitiontypeexternaleventresumetargetWorking//state/state/scxml其余自己添加二、如何使用状态图参考我这篇文档Qt SCXML 模块详解三、Qt SCXML 模块详解1、SCXML 概述SCXML (State Chart XML) 是一种基于 XML 的 W3C 标准用于描述复杂的状态机State Machines。它提供了一种形式化的方式来定义状态States如初始状态、最终状态、复合状态包含子状态、并行状态。转换Transitions状态之间的迁移路径由事件触发并可带有条件和执行的动作。事件Events触发状态转换的信号。动作Actions在进入/退出状态或执行转换时执行的逻辑如发送事件、调用脚本、操作数据模型等。数据模型Data Model用于存储状态机上下文相关的数据。2、Qt SCXML 模块的作用Qt 的 SCXML 模块 (QtSCXML) 提供了在 Qt 应用程序中使用 SCXML 标准的能力。其主要组件包括QScxmlStateMachine核心类代表一个 SCXML 状态机实例。它解析 SCXML 文件或字符串。管理状态机的生命周期初始化、启动、停止。提供接口与状态机交互发送事件、查询当前状态、订阅状态变化通知等。可以与 Qt 的信号/槽机制集成。SCXML 编译器 (qscxmlc)一个命令行工具或可通过 CMake/QMake 集成用于将 SCXML 文件编译成 C 代码.h和.cpp文件。目的提升运行时性能避免 XML 解析开销和类型安全性生成的类提供事件类型和属性访问器。生成内容一个继承自QScxmlStateMachine的特定状态机类。该类提供强类型的事件发送方法如submitEventName()代替通用的submitEvent(EventName)。提供访问 SCXML 数据模型中定义的数据属性的方法如property()或生成的 getter/setter。为每个状态定义了枚举常量便于查询当前状态。Qt 状态机集成虽然 SCXML 本身功能强大但QScxmlStateMachine可以无缝地与 Qt 的事件循环和对象系统协作。3、使用 Qt SCXML 模块的基本步骤3.1 编写 SCXML 文件使用文本编辑器或专门的 SCXML 编辑器如qscxml提供的qscxmlmon创建描述状态机的.scxml文件。例如一个简单的开关状态机scxmlxmlnshttp://www.w3.org/2005/07/scxmlversion1.0initialoffstateidofftransitioneventswitchtargeton//statestateidontransitioneventswitchtargetoff//state/scxml3.2 (可选但推荐) 使用qscxmlc编译 SCXML 文件命令行qscxmlc -o LightSwitchMachine.h LightSwitchMachine.scxmlCMakefind_package(Qt6 COMPONENTS SCXML REQUIRED) qt_add_scxml_file(LightSwitchMachine LightSwitchMachine.scxml OUTPUT_HEADER LightSwitchMachine.h OUTPUT_SOURCE LightSwitchMachine.cpp)qmakescxml_files LightSwitchMachine.scxml qscxmlc.commands qscxmlc -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} QMAKE_EXTRA_COMPILERS scxmlc3.3 在 Qt 项目中集成配置项目确保项目文件.pro,CMakeLists.txt包含scxml模块。qmake:QT scxmlCMake:find_package(Qt6 COMPONENTS SCXML REQUIRED)和target_link_libraries(myapp Qt6::SCXML)包含头文件如果使用了qscxmlc包含生成的头文件#include LightSwitchMachine.h否则使用#include QtScxml/QScxmlStateMachine。创建状态机实例未编译QScxmlStateMachine*machineQScxmlStateMachine::fromFile(:/LightSwitchMachine.scxml);已编译LightSwitchMachine*machinenewLightSwitchMachine();启动状态机machine-start();与状态机交互发送事件// 未编译 (通用方法)machine-submitEvent(switch);// 已编译 (类型安全方法)machine-submitSwitch();// 假设事件名为 switch查询状态QString currentStatemachine-activeStateNames().first();// 获取根状态下的活动状态名// 已编译 (使用枚举)if(machine-isActive(LightSwitchMachine::On)){...}连接信号// 状态进入/退出信号connect(machine,QScxmlStateMachine::reachedStableState,this,MyClass::onStableState);connect(machine,QScxmlStateMachine::stateEntered,this,MyClass::onStateEntered);connect(machine,QScxmlStateMachine::stateExited,this,MyClass::onStateExited);// 已编译状态机可能有更具体的信号1、关键特性与优势可视化与形式化SCXML 文件可以可视化编辑状态机行为清晰定义。复用性状态机定义SCXML 文件独立于业务逻辑代码。可维护性复杂状态逻辑集中管理易于修改。性能编译后的状态机运行高效。集成与 Qt 的信号/槽、事件循环完美结合。复杂状态支持支持嵌套状态、并行状态、历史状态等。5、示例编译后状态机的使用 (C)#includeLightSwitchMachine.h// 由 qscxmlc 生成#includeQCoreApplication#includeQDebugintmain(intargc,char*argv[]){QCoreApplicationapp(argc,argv);LightSwitchMachine machine;machine.start();// 启动状态机初始状态为 off// 连接信号查看状态变化QObject::connect(machine,LightSwitchMachine::onEntered,[](constQStringstate){qDebug()Entered state:state;});// 发送事件切换状态machine.submitSwitch();// 从 off - onmachine.submitSwitch();// 从 on - offreturnapp.exec();}6、总结Qt 的 SCXML 模块为在 Qt 应用程序中实现基于标准的、复杂的、可维护的状态机行为提供了强大的支持。通过编写 SCXML 文件定义状态逻辑利用QScxmlStateMachine运行并可选地使用qscxmlc编译器提升性能和类型安全开发者能够高效地管理应用的状态流转。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

缙云网站建设世纪购网站开发招聘

英语中,宾语(Object) 是动作的承受者或对象,是及物动词、介词后面必须或可以搭配的成分。根据语法功能和位置,宾语主要分为 3 大类,具体分类及解析如下:一、 直接宾语(Direct Object…

张小明 2026/1/8 9:28:48 网站建设

随州网站建设哪家便宜徐州制作网站软件

​解决方案思路由于题目中的 n1 和 n2 都很大,因此我们无法真正把 S1 [s1, n1] 和 S2 [s2, n2] 都显式地表示出来。由于这两个字符串都是不断循环的,因此我们可以考虑找出 s2 在 S1 中出现的循环节,如果我们找到了循环节,那么我…

张小明 2026/1/1 17:33:52 网站建设

生物网站建设扬州哪里做网站

Chroma 2235 是一款可编程视频信号图形产生器,主要用于显示设备的研发、生产测试和质量验证。‌ 1 2 ‌核心功能与特点‌ ‌多标准信号输出‌:该设备支持多种模拟和数字视频信号输出,包括 HDMI、DisplayPort、DVI、RGB、色差信号等&#xff0…

张小明 2025/12/24 13:39:33 网站建设

室内设计专业网站用电脑怎么做原创视频网站

Windows Server 2008 文件服务配置与分布式文件系统详解(上) 一、离线文件配置 在 Windows Server 2008 中,离线文件功能可以让用户在断开网络连接的情况下仍能访问某些文件。以下是配置离线文件的具体步骤: 1. 在 MSN - SRV - 0XX 上,打开控制面板,切换到经典视图,然…

张小明 2026/1/8 23:34:15 网站建设

苏州做网站的网络营销有什么方式

1、日常工作中,登录内部系统往往需要输入用户名、密码、短信验证码,但是如果30分钟不操作,会自动退出,为避免频繁登录,可以使用c#写一个自动刷新指定网址页面的程序。找来找去,这个最好用 using System; us…

张小明 2025/12/24 10:35:12 网站建设

学网站建设培训机构郴州全网推广公

DataSphereStudio实战指南:企业级数据开发平台深度解析 【免费下载链接】DataSphereStudio WeBankFinTech/DataSphereStudio: 是腾讯金融科技的一个数据开发平台,具有强大的数据处理,分析,可视化和机器学习功能,可以用…

张小明 2025/12/24 10:32:43 网站建设