PythonGUI之tkinter窗口视窗教程.docx

上传人:b****1 文档编号:609229 上传时间:2022-10-11 格式:DOCX 页数:68 大小:943.16KB
下载 相关 举报
PythonGUI之tkinter窗口视窗教程.docx_第1页
第1页 / 共68页
PythonGUI之tkinter窗口视窗教程.docx_第2页
第2页 / 共68页
PythonGUI之tkinter窗口视窗教程.docx_第3页
第3页 / 共68页
PythonGUI之tkinter窗口视窗教程.docx_第4页
第4页 / 共68页
PythonGUI之tkinter窗口视窗教程.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

PythonGUI之tkinter窗口视窗教程.docx

《PythonGUI之tkinter窗口视窗教程.docx》由会员分享,可在线阅读,更多相关《PythonGUI之tkinter窗口视窗教程.docx(68页珍藏版)》请在冰豆网上搜索。

PythonGUI之tkinter窗口视窗教程.docx

PythonGUI之tkinter窗口视窗教程

PythonGUI之tkinter窗口视窗教程

取消所有超链接:

ctrl+shift+f9

  一、Tkinter是什么

  二、Tkinter控件详细介绍

    1.Tkinter模块元素简要说明

    2.常用窗口部件及简要说明:

  三、动手实践学习

    1.创建主窗口及Label部件(标签)创建使用

    2.Button窗口部件

    3.Entry窗口部件

    4.Text窗口部件

    5.Listbox窗口部件

    6. Radiobutton窗口部件

    7. Checkbutton窗口部件 

    8. Scale窗口部件

    9. Canvas窗口部件

    10. Menu窗口部件

    11. Frame 窗口部件

    12. messageBox窗口部件

    13.窗口部件三种放置方式pack/grid/place

    14.综合练习,用户登录窗口例子

    15.其他部件后续再补充...

一、Tkinter是什么

  Tkinter是使用python进行窗口视窗设计的模块。

Tkinter模块("Tk接口")是Python的标准TkGUI工具包的接口。

作为 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又称“Tk接口”,是一个轻量级的跨平台图形用户界面(GUI)开发工具,是Tk图形用户界面工具包标准的Python接口,可以运行在大多数Unix平台、Windows、和Macintosh系统。

Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

wxPython是Python语言的一套优秀的GUI图形库,可以帮助程序员轻松创建功能强悍的图形用户界面的程序。

PyQt是一个创建GUI应用程序的工具包。

它是Python编程语言和Qt库的成功融合。

Qt库是目前最强大的库之一。

PyQt是由PhilThompson开发,向Python程序员提供使用完整Qt应用程序接口的方法。

因此,可以使用Python做任何C++能做的事,有没有很神奇。

Flexx是用于创建图形用户界面(GUI)的纯Python工具箱,该工具箱使用Web技术进行渲染。

作为跨平台的Python小工具,用户可以使用Flexx创建桌面应用程序和web应用程序,同时可以将程序导出到独立的HTML文档中。

二、Tkinter控件详细介绍

1.Tkinter模块元素简要说明

2.常用窗口部件及简要说明:

  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,andtext窗口部件的标准滚动条。

Text:

格式化文本显示。

允许你用不同的样式和属性来显示和编辑文本。

同时支持内嵌图象和窗口。

Toplevel:

一个容器窗口部件,作为一个单独的、最上面的窗口显示。

messageBox:

消息框,用于显示你应用程序的消息框。

(Python2中为tkMessagebox)

注意在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟关系。

所有这些窗口部件提供了Misc和几何管理方法、配置管理方法和部件自己定义的另外的方法。

此外,Toplevel类也提供窗口管理接口。

这意味一个典型的窗口部件类提供了大约150种方法。

三、动手实践学习

1.创建主窗口及Label部件(标签)创建使用

  1)简要说明:

我们要学习使用上面提到的这些控件首先要创建一个主窗口,就像作画一样,先要架好架子和画板,然后才能在上面放画纸和各种绘画元素,创建好主窗口才能在上面放置各种控件元素。

而创建过程是很简单的,基本流程如下:

2)示例代码:

例1、基本流程:

import tkinterastk  #使用Tkinter前需要先导入

 window = tk.Tk()#第1步,实例化object,建立窗口window

('MyWindow') #第2步,给窗口的可视化起名字

try('500x300')   #第3步,设定窗口的大小(长*宽)

这里的乘是小x

l = tk.Label(window,text='你好!

thisisTkinter',bg='green',font=('Arial', 12),width=30,height=2)#第4步,在图形界面上设定标签

#说明:

bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高

l.pack()    # #第5步,放置标签,Label内容content区域放置位置,自动调节尺寸

#放置lable的方法有:

1)l.pack();2)l.place();

oop()#第6步,主窗口循环显示

#注意,loop因为是循环的意思,oop就会让window不断的刷新,如果没有mainloop,就是一个静态的window,传入进去的值就不会有循环,mainloop就相当于一个很大的while循环,有个while,每点击一次就会更新一次,所以我们必须要有循环

#所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。

  3)测试效果:

基本流程:

1)导入tkinter模块:

importtkinter2)创建Tkinter主窗口:

root=tk.Tk()

3)在主窗口中创建控件:

label1=tk.Label(root,text=”我的窗口”)

4)放置控件:

可选pack()、place()、grid()等。

()5)进入主循环:

mainloop(),只有执行mainloop()方法才能运行.oop()

Label使用语法

widget=Radiobutton(master,parameter=value,...)

master:

文本框控件的父容器

parameter:

文本框的参数

value:

参数对应的值

各参数之间以逗号分隔。

参数说明:

Text标签文字,可以在标签上添加文字,如text=”我的祖国”

Relief标签样式,设置控件3D效果,可选的有:

FLAT、SUNKEN、RAISED、GROOVE、RIDGE。

bg标签文字背景颜色,dg='背景颜色'

fg标签文字前景色,fg='前景颜色'

bd标签文字边框宽度,bd=‘边框宽度’。

边框宽度显示需要配合边框样式才能凸显。

font标签文字字体设置,font=('字体',字号,'bold/italic/underline/overstrike')

justify标签文字对齐方式,可选项包括LEFT,RIGHT,CENTER

underline下划线。

取值就是带下划线的字符串索引,为0时,第一个字符带下划线,为1时,第两个字符带下划线,以此类推

wraplength按钮达到限制的屏幕单元后换行显示

height字体高度,height='高度'。

和relief结合使用才会凸显效果。

wideth字体宽度,wideth='宽度'。

和relief结合使用才会凸显效果。

image标签插入图片,插入的图片必须有PhotImage转换格式后才能插入,并且转换的图片格式必须是.gif格式

代码示例:

fromtkinterimport*

'''

NWNNE

WCE

SWSSE

'''

classLabels:

def__init__(self):

=Tk()

.title("标签")#设置窗口标题

.geometry("600x600")#设置窗口大小

'''文本框样式'''

#标签文字,可以在标签上添加文字

_text

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1