较全的tkinter翻译:https://segmentfault.com/a/1190000014280410
全系列:
[译][Tkinter 教程01] 入门: Label 控件
[译][Tkinter 教程02] Message 控件
[译][Tkinter 教程03] Button 控件
[译][Tkinter 教程04] Variable 类
[译][Tinkter 教程05] Radiobutton 控件
[译][Tkinter 教程06] Checkbox 控件
[译][Tkinter 教程07] Entry 控件
[译][Tkinter 教程08] Canvas 图形绘制
[译][Tkinter 教程09] Scale 控件
[译][Tkinter 教程10] Text 控件
[译][Tkinter 教程11] 对话框和消息框
[译][Tkinter 教程12] 布局管理 (Pack Place Grid)
[译][Tkinter 教程13] Mastermind 游戏
[译][Tkinter 教程14] menu 菜单
[译][Tkinter 教程15] event 事件绑定
说明:每一个函数的参数用法都可以百度得到,这里只给例子…
打印一个只显示文字的窗口:
import tkinter as tk
app = tk.Tk()#实例化一个窗口
app.title("This is a demo")#标题
theLable = tk.Label(app,text = "hello world")#内容
theLable.pack()#自动调节大小
app.mainloop() #为GUI程序的最后一步,进入主事件循环
带有按钮操作的窗口:
import tkinter as tk
class APP:
def __init__(self,master):
frame = tk.Frame(master)
frame.pack()
self.hi_there = tk.Button(frame,text="点我",fg="blue",command=self.say_hello)
self.hi_there.pack()
def say_hello(self):
print("你好")
root = tk.Tk()
app = APP(root)
root.mainloop()
文字与图片共存的窗口:
import tkinter as tk
app = tk.Tk()
textLable = tk.Label(app,text="只是一枝花,\n是一枝花,\n一枝花",justify="left",padx=10)#justify是对齐模式,padx是间距
textLable.pack(side = "left")
photo = tk.PhotoImage(file="D:\\untitled1\\c828d0992f92f79e08aa9d3ec708f5dd.png")#图片路径,一定是位图格式
imgLable = tk.Label(app,image=photo)
imgLable.pack(side = "right")
app.mainloop()
文字与图片融合的窗口:
import tkinter as tk
app = tk.Tk()
app.title("aaaaaaaaaa")
photo = tk.PhotoImage(file="D:\\untitled1\\c828d0992f92f79e08aa9d3ec708f5dd.png")
fixLable = tk.Label(app,
text="只是一枝花",
justify="left",
image=photo,
compound="center",#融合方式在图片中心显示文字
font=("华文仿宋",40),#设置字体和字号
fg="black")#前景色
fixLable.pack()
app.mainloop()
点击按钮改变文字:
import tkinter as tk
def callback():
var.set("它不是花")
app = tk.Tk()
frame1 = tk.Frame(app)
frame2 = tk.Frame(app)
var = tk.StringVar()
var.set("只是一枝花,\n是一枝花,\n一枝花")
textLable = tk.Label(frame1,textvariable=var,justify="left",padx=10)#justify是对齐模式,padx是间距
textLable.pack(side = "left")
photo = tk.PhotoImage(file="D:\\untitled1\\c828d0992f92f79e08aa9d3ec708f5dd.png")#图片路径,一定是位图格式
imgLable = tk.Label(frame1,image=photo)
imgLable.pack(side = "right")
theButton = tk.Button(frame2,text="哈哈哈",command=callback)
theButton.pack()
frame1.pack()
frame2.pack()
app.mainloop()
Checkbutton:注意variable的值不一样
from tkinter import *
root = Tk()
girls = ['西施','貂蝉','昭君','妲己']
v = []
for girl in girls:
v.append(IntVar())
c = Checkbutton(root,text=girl,variable=v[-1])
c.pack(anchor