GUI之tkinter视窗设计模块

转 Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
 
 
Tkinter是什么
  Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
  对于稍有GUI编程经验的人来说,Python的Tkinter界面库是非常简单的。python的GUI库非常多,选择Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,三则是从需求出发,Python作为一种脚本语言,一种胶水语言,一般不会用它来开发复杂的桌面应用,它并不具备这方面的优势,使用Python,可以把它作为一个灵活的工具,而不是作为主要开发语言,那么在工作中,需要制作一个小工具,肯定是需要有界面的,不仅自己用,也能分享别人使用,在这种需求下,Tkinter是足够胜任的!
  这篇文章主要做一个简单概述和实践编程,对于从没有接触过GUI的新手,在脑中树立一个基本的界面编程概念,同时自己也能学会如何简单的实现一些小的图形窗口功能。
 
  对于Tkinter编程,可以用两个比喻来理解:
      第一个,作画。我们都见过美术生写生的情景,先支一个画架,放上画板,蒙上画布,构思内容,用铅笔画草图,组织结构和比例,调色板调色,最后画笔勾勒。相应的,对应到tkinter编程,那么我们的显示屏就是支起来的画架,根窗体就是画板,在tkinter中则是Toplevel,画布就是tkinter中的容器(Frame),画板上可以放很多张画布(Convas),tkinter中的容器中也可以放很多个容器,绘画中的构图布局则是tkinter中的布局管理器(几何管理器),绘画的内容就是tkinter中的一个个小组件,一幅画由许多元素构成,而我们的GUI界面,就是有一个个组件拼装起来的,它们就是widget。
      第二个,我们小时候都玩过积木,只要发挥创意,相同的积木可以堆出各种造型。tkinter的组件也可以看做一个个积木,形状或许不同,其本质都是一样的,就是一个积木,不管它长什么样子,它始终就是积木!所以这些小组件都有许多共性,另外,个人认为,学习界面编程,最重要的不是一开始学习每个积木的样子,不是学习每个组件怎么用,而是这些组件该怎么放。初始学习中,怎么放远远比怎么用重要的多。网上有大量的文章资料,基本全是介绍组件怎么用的,对于怎么放,也就是tkinter中的布局管理器,都是一笔带过,这对初学者有点本末倒置,或许绝大部分是转载的原因吧,极少是自己真正写的。组件怎么用不是最迫切的,用到的时候再去了解也不迟,边用边学反而更好。因此我将专门写一章,详细介绍布局管理器的使用。
 
 
 
常用窗口部件及简要说明
 
Tkinter支持16个核心的窗口部件,这个16个核心窗口部件类简要描述如下:
 
Button:一个简单的按钮,用来执行一个命令或别的操作。
 
Canvas:组织图形。这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件。
 
Checkbutton:代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换。
 
Entry:文本输入域。
 
Frame:一个容器窗口部件。帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组织其它的窗口部件。
 
Label:显示一个文本或图象。
 
Listbox:显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。
 
Menu:菜单条。用来实现下拉和弹出式菜单。
 
Menubutton:菜单按钮。用来实现下拉式菜单。
 
Message:显示一文本。类似label窗口部件,但是能够自动地调整文本到给定的宽度或比率。
 
Radiobutton:代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。
 
Scale:允许你通过滑块来设置一数字值。
 
Scrollbar:为配合使用canvas, entry, listbox, and text窗口部件的标准滚动条。
 
Text:格式化文本显示。允许你用不同的样式和属性来显示和编辑文本。同时支持内嵌图象和窗口。
 
Toplevel:一个容器窗口部件,作为一个单独的、最上面的窗口显示。
 
messageBox:消息框,用于显示你应用程序的消息框。(Python2中为tkMessagebox)
 
注意在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟关系。
 
所有这些窗口部件提供了Misc和几何管理方法、配置管理方法和部件自己定义的另外的方法。此外,Toplevel类也提供窗口管理接口。这意味一个典型的窗口部件类提供了大约150种方法。
 
 
 
posted @ 2019-10-30 13:45  数之美  阅读(526)  评论(0编辑  收藏  举报