Tkinter-Python的GUI包初体验

Python的GUI包有很多,easyGUI可能更加适合新手,但是Tkinter包作为一个官方自带的包,功能强大,也比较易于上手。本文将对Tkinter的使用有一个初步的讲解。

下面是Python官网关于Tkinter的介绍

Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk

Tkinter is not the only GuiProgramming toolkit for Python. It is however the most commonly used one. CameronLaird calls the yearly decision to keep TkInter "one of the minor traditions of the Python world."

由于Tkinter是内置的模块,所以我们可以直接引用

import tkinter

学编程的都知道有个门路:入门从Hello World写起。那么让我们先看一下官方上的入门程序:

import tkinter
from tkinter.constants import *
tk = tkinter.Tk()
frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1)
label = tkinter.Label(frame, text="Hello, World")
label.pack(fill=X, expand=1)
button = tkinter.Button(frame,text="Exit",command=tk.destroy)
button.pack(side=BOTTOM)
tk.mainloop()

在Python终端中运行,就会有下面的结果!

第一个Tkinter程序

这样,第一个Hello World程序就运行完成了

当然,如果上面的代码你不是一起复制进终端,而是在IDLE中,通过交互式界面一行一行输入,便会发现在最后一句tk.mainloop()这个语句执行之前,窗体并没有生成。但这句话一执行之后,窗体就生成了,一切都能正常运行。这是为什么呢?为什么执行tk = tkinter.Tk()这个语句时,就没有直接生成一个窗体呢?

其实,tk.mainloop()的作用是重建窗体,并且开始检测事件。而之前的语句就是为建立窗体循环做准备。GUI编程与控制台编程有点不一样,它相当于是个死循环,只不过在检测到退出的事件,或者整个窗体被销毁,才会结束。

那么最基础的HelloWorld程序就到这里结束了,关于这里面的tk窗体,frame,label,button组件,还有pack等方法将在之后介绍。

转载于:https://my.oschina.net/u/3729927/blog/1575621

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值