Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里。Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
1、基础代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tkinterfrom tkinter import ttk# 创建主窗口
win = tkinter.Tk()
# 设置标题
win.title("小田学Python")
# 设置大小和位置
win.geometry("400x200+200+50"){具体控件与事件实现过程,由于篇幅受限,后面程序省略基本代码框架}# 进入消息循环
win.mainloop()
该段程序是创建一个窗口对象,具体的功能实现就是在该窗口之间进行,后续只需要在红字部分编写动作即可。其中win.geometry("400x200+200+50")中的参数分别表示,在屏幕从最左端向右偏移200,屏幕最上端向下偏移50位置处,创建一个长为400高为200的界面。
2、Label控件
'''
Label:标签控件,可以显示文本
'''
# win:父窗体
# text:显示的文本内容
# bg:背景色
# fg:字体颜色
# font:字体
# wraplength:指定text文本中多宽之后换行
# justify:设置换行后的对齐方式
# anchor:位置 n北,e东,w西,s南,center居中;还可以写在一起:ne东北方向
label = tkinter.Label(win,
text="this is a word",
bg="pink", fg="red",
font=("黑体", 20),
width=20,
height=10,
wraplength=100,
justify="left",
anchor="ne")
# 显示出来
label.pack()
3、Button控件
def func():
print("aaaaaaaaaaaaaaaaaaaaaaa")
# 创建按钮
button1 = tkinter.Button(win, text="按钮", command=func, width=10, height=5)
button1.pack()
button2 = tkinter.Button(win, text="按钮", command=lambda: print("bbbbbbbbbbbb"))
button2.pack()
button3 = tkinter.Button(win, text="退出", command=win.quit)
button3.pack()
win.mainloop()
点击不同的按钮,执行对应的函数,输出均在终端,win.quit()是内置的函数,关闭窗口。
4、Entry控件
'''
Entry:输入控件,用于显示简单的文本内容
'''
# 密文显示
entry1 = tkinter.Entry(win, show="*") # show="*" 可以表示输入密码
entry1.pack()
# 绑定变量
e = tkinter.Variable()
entry2 = tkinter.Entry(win, textvariable=e)
entry2.pack()
# e就代表输入框这个对象
# 设置值
e.set("wewewewewewe")
# 取值(下方两种写法输出一致)
print(e.get())
print(entry2.get())
5、点击按钮输出输入框中内容
def showinfo():
# 获取输入的内容
print(entry.get())
entry = tkinter.Entry(win)
entry.pack()
button = tkinter.Button(win, text="按钮", command=showinfo)
button.pack()
6、Text控件
'''
文本控件:用于显示多行文本
'''
# height表示的是显示的行数
text = tkinter.Text(win, width=30, height=10)
text.pack()
str = '''盖闻天地之数,有十二万九千六百岁为一元。将一元分为十二会,乃子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥之十二支也。每会该一万八百岁。且就一日而论:子时得阳气,而丑则鸡鸣;寅不通光,而卯则日出;辰时食后,而巳则挨排;日午天中,而未则西蹉;申时晡而日落酉;戌黄昏而人定亥。譬于大数,若到戌会之终,则天地昏蒙而万物否矣。再去五千四百岁,交亥会之初,则当黑暗,而两间人物俱无矣,故曰混沌。又五千四百岁,亥会将终,贞下起元,近子之会,而复逐渐开明。邵康节曰:“冬至子之半,天心无改移。一阳初动处,万物未生时。”到此,天始有根。再五千四百岁,正当子会,轻清上腾,有日,有月,有星,有辰。日、月、星、辰,谓之四象。故曰,天开于子。又经五千四百岁,子会将终,近丑之会,而逐渐坚实。易曰:“大哉乾元!至哉坤元!万物资生,乃顺承天。”至此,地始凝结。再五千四百岁,正当丑会,重浊下凝,有水,有火,有山,有石,有土。水、火、山、石、土谓之五形。故曰,地辟于丑。又经五千四百岁,丑会终而寅会之初,发生万物。'''
text.insert(tkinter.INSERT, str)
7、带滚动条的Text
'''
文本控件:用于显示多行文本
'''
# 创建滚动条
scroll = tkinter.Scrollbar()
text = tkinter.Text(win, width