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

  • 相关阅读:
    「BZOJ1061」 [Noi2008]志愿者招募
    [POJ 2891] Strange Way to Express Integers (扩展中国剩余定理)
    扩展中国剩余定理学习笔记
    扩展欧几里得算法+推论
    SPOJ16607 IE1
    [Luogu P4124] [CQOI2016]手机号码 (数位DP)
    [UOJ 275/BZOJ4737] 【清华集训2016】组合数问题 (LUCAS定理的运用+数位DP)
    一些很妙的网站
    [Luogu P3157][CQOI2011]动态逆序对 (树套树)
    [Luogu P3203] [HNOI2010]弹飞绵羊 (LCT维护链的长度)
  • 原文地址:https://www.cnblogs.com/chencesc/p/5737151.html
Copyright © 2011-2022 走看看