Tkinter

如果用Tkinter来制作带GUI界面的Python程序。

什么是Tkinter?

什么是Tkinter呢? Tk是N久之前TCL脚步语言的GUI扩展,第一版发布再上世纪的九十年代初,因为简单易用,所以很快就火了,变得流行起。后来呢,移植到了Python、Perl、Ads、Ruby、Lisp等语言中作为GUI扩展。其实Python Interface for TK,简称Tkinter。30分钟学会关于Tkinter界面编程,还是有可能的!

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

以下的示例程序,一个原始的窗口上,放置了一个“Hello,World”的标签。

'''
Welcome to LearnPython.NET

Author: LearnPython.Net
Editor: CoderChiu

'''

from tkinter import *

root = Tk()

#画面上的Hello World;
labelHi = Label(root, text="Hello, world!")
labelHi.pack()

root.mainloop()

之后执行,就得到一下程序,你可以执行最小化、最大化、关闭。

Tkinter完成的Python的Gui程序,看起来是不是很简单。

OOP版本的Tkinter程序

Python是面向对象的编程语言,更多的时候,Tkinter也会被包装一个对象;

'''
Welcome to LearnPython.NET

File Name: PTkinterOOP.py
Download from: https://www.learnpython.net/cn/python-code-samples.html
Author: LearnPython.Net
Editor: CoderChiu

'''

from tkinter import *

class App:

    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        self.button = Button(
            frame, text="QUIT", fg="red", command=frame.quit
            )
        self.button.pack(side=LEFT)
        self.hi_there = Button(frame, text="Hello", command=self.say_hi)
        self.hi_there.pack(side=LEFT)

    def say_hi(self):
        print("hi there, everyone!")

root = Tk()

app = App(root)

root.mainloop()
root.destroy() # optional; see description below

组件Button用法说明

按钮组件Button是所有的GUI编程中最常用的元素之一,我们先来看一下这个东西怎么来使用的。先创建一个叫做Button的Widget,然后调用pack,就组装起来了,就得到了下面的页面。

#关闭按钮;
btnClose = Button(root, text="Close")
btnClose.pack()

创建了按钮之后呢,如何把按钮和事件关联起来呢?上面的例子中的 command 就让点击按键和 say_hi 关联起来了,这就是Event Handle的内容了。

Event Handler

一个按钮可以有鼠标、键盘等事件;Tkinter里边都有哪些事件呢?

为什么要使用Tkinter?

因为Tkinter已经出现了好久,相当完整的界面元素,可以跨平台使用,在Win、Mac上使用都没有障碍;跟Python跨平台设计的理念非常之一致;所以就被移植到了Python语言中,作为一个默认的就支持的完整组件来使用。

我学习使用的过程中,感觉需要一个快速的开发工具,所以我同事就开发了一个辅助生成Tk代码的工具;希望你也喜欢!

怎么用Tkinter开发带GUI的Python应用

TKinter 常见的有15个核心组件;分别是: Button 按钮、Canvas 画布、 Checkbutton 选择按钮、Entry 文本框、Frame 框架、 Label 标签、 Listbox 列表框、 Menu 菜单、Menubutton 菜单按钮、Message 消息框、 Radiobutton 单选按钮、 Scale 进度条、Scrollbar 滚动条、Text 文本域、Toplevel 顶级。

推荐强烈去试一下Visual TK网站,开发Python的Tkinter相关程序,从未变得如此简单!

Last updated