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混合:混合的各种模式

  • 相关阅读:
    Java知多少(28)super关键字
    Java知多少(27)继承的概念与实现
    Java知多少(26)源文件的声明规则
    Java知多少(25)再谈Java包
    Java知多少(24)包装类、拆箱和装箱详解
    Java知多少(23)类的基本运行顺序
    Java知多少(22)方法重载
    Java知多少(21)this关键字详解
    Java知多少(20)变量的作用域
    Java知多少(19)访问修饰符(访问控制符)
  • 原文地址:https://www.cnblogs.com/chencesc/p/5737151.html
Copyright © 2011-2022 走看看