zoukankan      html  css  js  c++  java
  • Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述

      GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction)。早期计算机使用的命令行界面(command-line interface,简称CLI),图形界面对于用户来说在视觉上更易于接受。然而这种界面若要通过在显示屏的特性位置,以“各种美观而不单调的视觉消息“提示用户”状态的改变”,势必比简单的消息呈现上更有优势。

    2.Python支持常用的GUI工具包

    Tkinter 使用Tk平台 很容易得到 半标准
    wxpython 基于wxWindows。跨平台越来越流行
    Python Win 只能在Windows上使用 使用了本机的Windows GUI功能
    Java Swing 只能用于Jython 使用本机的Java GUI
    PyGTK 使用GTK平台 在linux上很流行
    PyQt 使用QT平台 跨平台

    Tkinter简介:
    Tkinter模块(“Tk接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用。同样可以在应用在Windows和Macintosh系统里。Tk8.0的后续版本可以实现本地窗口风格,并良好的运行在绝大多数平台中。


    wxPython简介:
    wxPython是一块开源软件,是Python语言的一套优秀的GUI图形库,运行Python程序员很方便创建完整的、功能健全的GUI用户界面。
    Jython程序可以和Java无缝集成。除了一些标准模块、Jython使用Java的模块。Jython几乎拥有标准Python中不依赖于C语言的全部模块。比如:Jython的用户界面使用Swing,AWT或者SWT。Jython可以被动态或者惊天的编译成Java字节码。

    Tkintter是内置到Python的安装包中、只要安装好Python之后就能import Tkinter库、而且IDLE也是用Tkinter编写的。

    3. 常用的Tkinter组件

    控件类

      Label

      Button

      Entry

      Text

      CheckButton

      RadioButton

      Listbox

      Spinbox

      Menu

      Combobox

      Frame

    数据显示

      表格数据

      树状数据

    布局

      绝对布局

      相对布局

      表格布局

    鼠标事件(event)

    3. 实例方式

      这里的Tkinter只是一个简单的教程,详细教程可以参照其他教材。以2中的方式展开实例进行讲解。

    4. 一个简单的示例进行开篇

      常用的Tkinter编码结构主要有一个大框架,分创建主窗口(这是整个代码的头部),设置标题,设置大小和位置,保持循环不让窗口关闭(这是整个代码的头部)。其中我们把想要现实的控件、事件等写在消息循环体内即可。其实和其他的GUI编程语言来说(比如:C#可以用拖拽的方式进行GUI编程)Python的GUI显得过于简单。不过正是这些简单可以更容易上手,使得一些“小”程序可以非常快的编辑处出来。另外编辑好后可以用pyinstaller等exe编辑文件生成exe等方式,在任何的系统当中可以直接作为一个独立的软件生成和使用。

      图示如下:

      

      举例代码:我们需要一个tkinter库,另外后面我还需要tkinter这个库下面的一个ttk子库

    import tkinter
    
    # 创建主窗口__编程头部
    win = tkinter.Tk()
    
    # 设置标题
    win.title("Thomas的窗口")
    
    # 设置大小和位置
    win.geometry("400x400+200+0") #格式:400x400表示大小,200和0表示位置
    
    # 进入消息循环
    
    
    
    
    
    
    
    
    
    # 保持循环不让窗口关闭__编程尾部
    win.mainloop()
  • 相关阅读:
    多线程爬取斗图啦图片
    fiddler配置https
    Linux相关命令实例及解析
    htm、html、shtml网页区别
    什么是中间件?常见中间件有哪些?
    列举常见的关系型数据库和非关系型都有那些?
    什么是dao模式,dao模式的实现方法
    如何理解fine-grained和coarse-grained?
    .Net 理解持久层(Persistence Layer)
    web server与app server有什么不同
  • 原文地址:https://www.cnblogs.com/noah0532/p/10884470.html
Copyright © 2011-2022 走看看