GUI
2015-09-15 22:17
381 查看
既然我们上文中提到了当前最主流的交互方式就是图形化交互,我们就来看看图形用户界面的基本结构。现在普遍的系统上都会有一个应用程序框架,而这类框架都会提供一个GUI(Graphics User Interface),有了GUI,作为应用程序的普通开发者就不需要去关注如何去监听用户的事件,如何去调度各个程序之间的窗口(窗口直接的覆盖,隐藏,激活,调度等),窗口的绘制,图形的绘制,等等。
一个典型的GUI框架要处理:
1.事件的接收和分发;
2.窗口的调度;
3.图形的绘制。
所以一个典型的GUI框架需要包括:事件管理器,窗口管理器;图形设备接口(GDI)。基本结构如下图:
而一般的数据流图如下:
可见,在我们的应用程序之下,GUI框架已经做了很多底层的工作,而掌握GUI的运行原则和规律也是很有必要的。目前有很多的GUI框架,
比如symbian系统上的S60UI框架,windows的MFC框架,android的gui框架,QT框架。
GUI里有一个最重要的概念就是“窗口”,当然可能各个系统对此的称呼不同。但它们都具有这些功能:可以处理消息,有一个可显示矩形区域,可以绘制重绘(所以窗口也是个绘图设备),有的可以改变尺寸大小。在GUI的世界里,可以把一切都看成是窗口,桌面也是窗口(根窗口)。
版权声明:本文为博主原创文章,未经博主允许不得转载。
一个典型的GUI框架要处理:
1.事件的接收和分发;
2.窗口的调度;
3.图形的绘制。
所以一个典型的GUI框架需要包括:事件管理器,窗口管理器;图形设备接口(GDI)。基本结构如下图:
而一般的数据流图如下:
可见,在我们的应用程序之下,GUI框架已经做了很多底层的工作,而掌握GUI的运行原则和规律也是很有必要的。目前有很多的GUI框架,
比如symbian系统上的S60UI框架,windows的MFC框架,android的gui框架,QT框架。
GUI里有一个最重要的概念就是“窗口”,当然可能各个系统对此的称呼不同。但它们都具有这些功能:可以处理消息,有一个可显示矩形区域,可以绘制重绘(所以窗口也是个绘图设备),有的可以改变尺寸大小。在GUI的世界里,可以把一切都看成是窗口,桌面也是窗口(根窗口)。
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- Not Found The requested url path was not fund on this server
- UITableViewCell和UICollectionView的几种动画
- 对UIView的总结
- NEVER QUIT. NEVER SAY NEVER.
- Servlet之request请求、ServletContext、ServletConfig
- 自绘菜单的实现 ----------原作者querw
- UITextView内容添加后,自动滚动到最后一行
- soapui 自动化教程(四)
- UITableViewCell 消除右侧辅助视图区域空白
- UIPickerView
- uva 12167 Proving Equivalences(强连通分量 + 缩点)
- iOS中的UITabBarController(标签视图控制器)
- UI03_UITextField
- iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能
- ArrayBlockingQueue学习笔记
- NSDate将日期类字符串Tue Sep 15 19:00:03 +0800 2015转化为09-15 19:52日期类型的格式
- 【Java GUI】Java面板基础:JPanel
- UIBUTTON.NORMALSPRITE
- Qt 学习之路 :Qt Quick Controls
- DFGUI-- 标签交换 Tabstrip