学习笔记:Python GUI编程(Tkinter)

Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:

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

**wxPython:**wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。

**Jython:**Jython 程序可以和 Java 无缝集成。除了一些标准模块,Jython 使用 Java 的模块。Jython 几乎拥有标准的Python 中不依赖于 C 语言的全部模块。比如,Jython 的用户界面将使用 Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。

Tkinter

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

⚠️python3版本以后,导入Tkinter模块变为tkinter.

创建一个GUI程序
1、导入 Tkinter 模块
2、创建控件
3、指定这个控件的 master, 即这个控件属于哪一个
4、告诉 GM(geometry manager) 有一个控件产生了。 

实例1

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import Tkinter
top = Tkinter.Tk()
top.mainloop()# 进入消息循环

实例2

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
from Tkinter import *           # 导入 Tkinter 库
root = Tk()                     # 创建窗口对象的背景色
# 创建两个列表
li     = ['C','python','php','html','SQL','java']
movie  = ['CSS','jQuery','Bootstrap']
listb  = Listbox(root)          #  创建两个列表组件
listb2 = Listbox(root)
for item in li:                 # 第一个小部件插入数据
    listb.insert(0,item)
 
for item in movie:              # 第二个小部件插入数据
    listb2.insert(0,item)
 
listb.pack()                    # 将小部件放置到主窗口中
listb2.pack()
root.mainloop()                 # 进入消息循环

学习笔记:Python GUI编程(Tkinter)_第1张图片
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
学习笔记:Python GUI编程(Tkinter)_第2张图片学习笔记:Python GUI编程(Tkinter)_第3张图片
学习笔记:Python GUI编程(Tkinter)_第4张图片
学习笔记:Python GUI编程(Tkinter)_第5张图片
Button-按钮测试

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import Tkinter
#import tkinter   python3.X
import tkMessageBox  
#import tkinter.messagebox  python3.X

top = Tkinter.Tk()
 
def helloCallBack():
   tkMessageBox.showinfo( "Hello Python", "Hello Runoob") 
B = Tkinter.Button(top, text ="点我", command = helloCallBack)

B.pack()
top.mainloop()

Python Tkinter 复选框(Checkbutton)
Python Tkinter 复选框用来选取我们需要的选项,它前面有个小正方形的方块,如果选中则有一个对号,也可以再次点击以取消该对号来取消选中。

语法格式如下:
w = Checkbutton ( master, option=value, ... )
master: 按钮的父容器。
options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。
from tkinter import *
#import tkMessageBox
import tkinter
import tkinter.messagebox
top = tkinter.Tk()
CheckVar1 = IntVar()
CheckVar2 = IntVar()
C1 = Checkbutton(top, text="RUNOOB", variable=CheckVar1, \
                 onvalue=1, offvalue=0, height=5, \
                 width=20)
C2 = Checkbutton(top, text="GOOGLE", variable=CheckVar2, \
                 onvalue=1, offvalue=0, height=5, \
                 width=20)
C1.pack()
C2.pack()
top.mainloop()

Python Tkinter 文本框(Entry)
Python Tkinter 文本框用来让用户输入一行文本字符串。
你如果需要输入多行文本,可以使用 Text 组件。
你如果需要显示一行或多行文本且不允许用户修改,你可以使用 Label 组件。

语法格式如下:
w = Entry( master, option, ... )
master: 按钮的父容器。
options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。

学习笔记:Python GUI编程(Tkinter)_第6张图片
学习笔记:Python GUI编程(Tkinter)_第7张图片
实例3

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
from Tkinter import *
 
top = Tk()
L1 = Label(top, text="网站名")
L1.pack( side = LEFT)
E1 = Entry(top, bd =5)
E1.pack(side = RIGHT)
 
top.mainloop()

文章整理来源:https://www.runoob.com/python/python-gui-tkinter.html

你可能感兴趣的:(Python,python,GUI,图形界面)