python用户界面

为什么要做简单的界面呢
    色彩
        透视,通感
        鲜明对比
     线条:动静--冷暖-酸甜-香臭
        点:点缀(目的丰富画面,活跃气氛)
        线:联系(具有引导性,贯穿画面)
        面:重点(主要信息呈现,有分量感)
                菱形四边形元素--动感,活跃
    位置--空间
综上属性--大小颜色样式
    背景
    轮廓--填充--效果

PC端

界面元素和界面布局
界面元素
        00.屏幕上显示内容首先要创建一个窗口承载内容
        01.
          窗口--线条
            bar栏--标题栏,状态栏、导航栏 
            条--滚动条、工具条,进度条
            field框--对话框,边框,滑动框,消息框
            复合控件
                下拉选项
  布局:
        单列布局还是双列布局
        环环相扣还是直白排版
        选择题还是填空题


   是否需要快捷键
事件-鼠标-键盘-触摸屏等响应

移动端

移动端的
    button 按钮--移动按钮
    栏--下拉菜单,平铺菜单栏
    框--单选框,复选框,文本框,文件选择框
    页签

GUI 提供给用户一种更加直白的图形化的人机交互界面。

图形界面编程
    桌面程序编程
    网络程序编程--HTML+CSS
GUI库--图形用户接口--是指采用图形方式显示的计算机操作用户界面,(GUI Libraries)
    Qt是一个跨平台C++图形用户界面应用程序开发框架--Qt toolkit
    GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包--GIMP Toolkit(GTK+  C的开源GUI库
    wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI(图形用户界面)和其它工具
    MFC(Microsoft Foundation Classes,微软基础类库)--MFC界面库,C/C++混合-事件驱动架构--构建于Windows API 之上
    FOX是一个C++开发图形用户界面库,方便和有效的基础工具包--开源的
    VCF---Visual Component Framework的框架
    Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接--Python原生--Tcl 是“工具控制语言(Tool Command Language)

界面处理机制
    MESSAGE MAP机制---消息响应机制--消息映射和消息处理
    event handler机制--------事件处理器机制--基于监听的事件处理机制


Python语言的桌面程序开发
    开发小工具用的界面-不要求很复杂,上手简单就行-Tkinter,就选它了,其余的介绍如下
            PyQt:PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合
            PyGtk
            wxPython是Python语言的一套优秀的GUI图形库,GUI库wxWidgets的Python封装和Python模块的方式

Java和Scala
JAVA的GUI框架----AWT , SWT, Swing
Scala的GUI矿建--scala.swing库--
            Scala界面事件处理采用  
                过程:发布--订阅的方式 来处理事件,发布者发布事件,订阅者向发布者订阅
                        发布者称作 事件源,
                        订阅者称作 事件监听器,订阅方法 listenTo() 取消订阅deafTo()
                        事件
                 步骤:
                        第一步: 注册监听的对象
                        第二步:对监听到的事件进行处理
                组件--可以是发布者 也可以是订阅者

Ubuntu桌面系统--图形桌面环境
    GNOME 
    KDE 
    Unity 
    Xfce 
    Cinnamon

Tkinter架构

UI的结构底层的容器窗体:root window,在root上面就会有一些容器的UI,在UI的上面又会有一些其他的UI
    分类:
            widget(显示)
            WM(管理:窗体的显示,添加,例如pack()),
            event(事件传导机制):输入事件,状态事件(鼠标的挪进挪出),管理事件(窗体的生命周期的消亡)
    python2中叫Tkinter,在python3中叫tkinter 

界面开发步骤
            1.导入模块与创建控件
            2.创建一个顶层窗口,或者叫根窗口--Tk将被用于创建一个根窗口(root window
            3.创建部件(widgets
            4.管理和显示部件
            5.mainloop()-进入窗体的主循环

Python文件选择
    浏览按钮获取文件全路径
    tkMessageBox模块用于显示在您的应用程序的消息框
    python中导入tkmessageBox需要这样导入     import tkinter.messagebox

Python中的使用
组件
    1.Label 
        说明:标签 
        用法:Label(根对象,[属性列表(用字典的形式)]) 
        例子:name=Label(root,name='name',bg='green')

    2.Button: 
        说明:按钮 
    3.Frame 
        说明:创建矩形区域,作为容器

部件函数的调用有两种方式:直接绑定和间接绑定。
    直接绑定就是在元件 Button 中的参数 command 中设定回调的函数名称,如下:
            ButtonInput=Tkinter.Button(root,text="Input",command=InputString)
    间接绑定是用 bind 方法,对于所有元件都有这个方法,-bind()函数进行事件的绑定形式如下:
            ButtonInput.bind('<Return>',InputString)
布局
    .布局
    显示元件的方法不仅仅有 pack(),还有 grid()

参考:

丑陋的Tkinter---想说爱你不容易 http://blog.chinaunix.net/uid-22334392-id-3604020.html 
http://www.tkdocs.com/tutorial/index.html
An Introduction To Tkinter http://effbot.org/tkinterbook/tkinter-index.htm#class-reference  
Python 下用 Tkinter 制作 GUI  http://pikipity.github.io/blog/python-tkinter.html

blogroll

social