• Qt学习01 GUI程序原理分析


    Qt学习01 GUI程序原理分析

    命令行应用程序

    命令行应用程序的特点(Command Line Interface)

    • 是一种基于顺序执行结构的可执行程序
    • 程序执行过程中不需要与用户产生交互
    • 程序执行后给出最终的运行结果

    例子:gcc编译源代码

    gcc a.c b.c c.c
    
    • 1

    编译过程中不产生用户交互,编译结束后或者成成可执行程序或者给出错误信息。

    命令行应用程序的运行模式

    在这里插入图片描述

    特点:程序的运行有固定的开始固定的结束

    命令行应用程序适用于

    • 单任务场合
    • 无交互或简单交互场合
    • 服务器应用场合

    命令行应用程序是早期计算机系统中的主要程序类型

    图形界面应用程序

    图形界面应用程序的特点(Graphic User Interface)

    • 是一种基于消息驱动模型的可执行程序
    • 程序的执行依赖于用户的交互过程
    • 程序执行过程中实时响应用户操作
    • 一般情况下程序执行后不会主动退出

    图形界面应用程序的运行模式

    在这里插入图片描述

    图形界面应用程序的消息处理模型

    在这里插入图片描述

    原理:用户使用鼠标或键盘对计算机操作,操作系统生成相应的系统消息,发送到一个有焦点的应用程序,应用程序收到系统消息,调用消息处理函数相应处理用户操作。

    过程:用户产生用户操作 => 操作系统接收产生系统消息 => 应用程序接收调用消息处理函数

    图形界面应用程序的编程多数时候就是编写消息处理函数去处理系统消息

    图形界面应用程序适用于

    • 多任务的场合
    • 强用户交互的场合
    • 非专业计算机用户

    图形界面应用程序是当代计算机系统中的主要程序类型

    图形界面程序 VS 命令行程序

    • 当代大型软件产品架构模型

    在这里插入图片描述

    小结

    命令行应用程序图形界面应用程序
    基于顺序执行结构基于消息驱动模型
    弱交互执行强交互执行
    由用户出触发运行由用户触发运行
    主动结束由用户触发结束
  • 相关阅读:
    ElasticSearch 实现分词全文检索 - 概述
    GO——数据容器
    DBeaver 导出数据的问题 SQL 错误: jdbc 驱动内部错误 Java heap space
    单片机中使用操作系统RTOS的好处
    Kotlin系列之注解详解
    Linux:进程池制作(匿名管道版本 & 命名管道版本)
    Cookie和Session的各自作用、使用场景、java操作代码(创建、获取等操作)
    java毕业设计项目源代码javaweb在线商城电商项目|购物
    C++ string类
    Nacos 如何实现配置文件动态更新的
  • 原文地址:https://blog.csdn.net/weixin_40743639/article/details/125455093