Python之tkinter模块

较全的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 事件绑定

说明:每一个函数的参数用法都可以百度得到,这里只给例子…

1.入门小例子

打印一个只显示文字的窗口:

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()

2.Lable()与Button()

文字与图片共存的窗口:

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()

3.Checkbutton(多选)、Radiobutton(单选)

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 

你可能感兴趣的:(python基础)