zoukankan      html  css  js  c++  java
  • gui学习

    GUI

    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面

    有名的实现 : ucgui   、

    实现围绕几个问题:

    1. 怎样描述界面

    通过xml, json等类似的结构描述界面,程序通过解析,呈现出来

    2.常用的组件

    如window, button, edit, text, notepad, sliderbar, scrollbar, listview,box, combobox, image......

    组件分为可聚焦(需要传递)和不可聚焦, 例如button,  edit可聚焦

    组件分为容器组件和非容器组件, 例如window,box等为容器组件

    3.窗口管理

    窗口有一个栈的管理,管理窗口的上下层关系。

    4.焦点控制:

    创建一个界面时(window),焦点将自动移到窗口中第一个可聚焦的组件

    销毁一个界面时焦点聚焦在窗口栈前一个窗口的第一个可聚焦组件

    提供出一个可以设置焦点的接口。

    5.消息处理机制

    窗口完全靠消息驱动,循环检测事件来临,比如按键事件,点击事件

    检测到事件之后,还要通过消息传递(top->focus->parent->root)

    在传递到聚焦组件之前,可以做一些全局的设置,并拦截,后面就是传到聚焦组件,聚焦组件的父组件,一直传到root。

    信号函数可以是根据用户提供的回调函数,进行处理,widget提供函数指针。

    6.刷新机制

    消息驱动绘制,每次处理一个消息就进行绘制,将更新的window按照栈的上下层关系进行绘制

    提供一个立即绘制的接口,方便需要立即显示的某一些改动。

    7.相关知识

    图片:各种格式图片的解析处理,比如jpg,png,gif,bmp,tiff

    文字:各种编码、字体,比如GB,UTF8,UNICODE,GBK,BIG5,ISO6937,ISO8859-1~9

    颜色:rgb,yuv,cmyk(印刷色),yuv是为了压缩对人眼不敏感的色度而出现的颜色类型,

    色阶:1bpp(黑白),8bpp, 16bpp,24bpp,32bpp

    GA混合:混合的各种模式

  • 相关阅读:
    TimesTen的安装和连接
    推荐10款免费而优秀的图表插件
    做了一个jquery插件,使表格的标题列可左右拉伸
    基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)
    基于SSM实现的简易员工管理系统
    基于局域网的超简易即时通讯软件(二)
    基于局域网的超简易即时通讯软件(一)
    我的Vim常用快捷键
    php最新面试题
    2017php经典面试题
  • 原文地址:https://www.cnblogs.com/chencesc/p/5737151.html
Copyright © 2011-2022 走看看