Tkinter 莫烦 基础

1.定义一个界面窗口并添加一个标签

代码:

import tkinter as tk

# 设置窗口
window = tk.Tk() # 定义一个window窗口
window.title("my window") # 设置窗口的名字
window.geometry("600x300") # 设置窗口的大小

# 设置一个标签
I = tk.Label(window,
             text = "OMG! This is TK", # 标签的文字
             bg = "green", # 背景颜色
             font=("Arial",12), # 字体和字体大小
             width=15, # 标签长
             height=2 # 标签宽
             )
I.pack() # 固定窗口位置

window.mainloop() # 让窗口活动起来

效果:
Tkinter 莫烦 基础_第1张图片

2.在1的基础上添加一个按钮。

按动按钮,使标签交替出现下面两句文字:
“you hit me odd”
“you hit me even”

代码:

import tkinter as tk

# 设置窗口
window = tk.Tk() # 定义一个window窗口
window.title("my window") # 设置窗口的名字
window.geometry("600x300") # 设置窗口的大小

# 设置标签
var = tk.StringVar() # 这是文字变量存储器
I = tk.Label(
    window,
    textvariable=var, # 使用textvariable替换text,因为这个可以变化
    bg = "green",
    font=("Arial",12),
    width=15,
    height=2
)
I.pack()

# 按钮所执行的命令
on_hit = False
def hit_me():
    global on_hit
    if on_hit == False:
        on_hit = True
        var.set("you hit me odd") # 设置标签的名字为"you hit me"
    else:
        on_hit = False
        var.set("you hit me even")

# 制作按钮
b = tk.Button(
    window,
    text="hit me", # 显示按钮上面的文字
    width=15,
    height=2,
    command=hit_me # 点击按钮执行的命令
)
b.pack() # 放置按钮位置

window.mainloop() # 让窗口活动起来

效果:
没有点击按钮:
Tkinter 莫烦 基础_第2张图片
点击1次按钮:
Tkinter 莫烦 基础_第3张图片
点击2次按钮:
Tkinter 莫烦 基础_第4张图片

3.Entry & Text

代码:

import tkinter as tk

# 设置窗口
window = tk.Tk() # 定义一个window窗口
window.title("my window") # 设置窗口的名字
window.geometry("200x200") # 设置窗口的大小

# 创建输入框
e = tk.Entry(window,show=None) # 若show="*",则输入的内容为*,看不到真实的字符。
e.pack()

# 创建文本框
t = tk.Text(window,height=2) # 文本框的高度为两个字符,也就是两行
t.pack()

# 定义触发事件时的函数
def insert_point():
    var=e.get() # 获取输入框的内容
    t.insert("insert",var) # 将var插入到鼠标指针指的位置。
def insert_end():
    var = e.get()
    t.insert("end",var) # 将var插入到文本框末尾。

# 定义两个按钮b1和b2
b1 = tk.Button(
    window,
    text="insert point",
    width=15,
    height=2,
    command=insert_point
)
b1.pack()

b2 = tk.Button(
    window,
    text="insert end",
    width=15,
    height=2,
    command=insert_end
)
b2.pack()

window.mainloop() # 让窗口活动起来

效果:
开始界面:
Tkinter 莫烦 基础_第5张图片
输入"baidu",然后点击“insert end”按钮:
Tkinter 莫烦 基础_第6张图片
在输入框中输入“123”,然后将光标移动到文本框中"i"和"d"之间,再点击"insert point"按钮。
Tkinter 莫烦 基础_第7张图片

4.Listbox 列表部件

代码:

import tkinter as tk

# 创建主窗口
window = tk.Tk()
window.title("my window")
window.geometry("200x200")

# 创建一个标签用于显示
var1 = tk.StringVar() # 创建变量
L = tk.Label(window,bg="yellow",width=4,textvariable=var1)
L.pack()

# 创建一个方法用于按钮的点击事件
def print_selection():
    value = lb.get(lb.curselection()) # 获取当前选中的文本
    var1.set(value) # 为label设置值

# 创建一个按钮
b1 = tk.Button(window,text="print selection",
               width=15,height=2,command=print_selection)
b1.pack()

# 创建一个Listbox和变量var2,并将var2的值赋给Listbox
var2 = tk.StringVar()
var2.set([11,22,33,44]) # 为变量设置值,里面可以是元组或列表。

# 创建一个list并将值循环添加到Listbox控件之中
lb = tk.Listbox(window,listvariable=var2) # 将var2的值赋值给Listbox
list_items = [1,2,3,4]
for item in list_items:
    lb.insert("end",item) # 从最后一个位置开始加入值
lb.insert(1,"first") # 在第一个位置加入字符"first"
lb.insert(2,"second") # 在第二个位置处加入字符"second"
lb.delete(2) # 删除第二个位置的字符
lb.pack()

window.mainloop() # 显示主窗口

效果:
运行程序后:
Tkinter 莫烦 基础_第8张图片
我们用鼠标选择字符"first",并点击按钮print selection:
Tkinter 莫烦 基础_第9张图片

5.raidobutton 选择按钮

代码:

import tkinter as tk

# 设置窗口
window = tk.Tk() # 定义一个window窗口
window.title("my window") # 设置窗口的名字
window.geometry("200x200") # 设置窗口的大小

# 触发功能函数
def print_selection():
    L.config(text="you have selected " + var.get()) # 修改标签中的文本参数,当然也可以修改其他参数。

# 设置一各变量和标签
var = tk.StringVar()
L = tk.Label(window,bg="yellow",width=20,text="empty")
L.pack()

# 创建radiobutton
r1 = tk.Radiobutton(window,text="Option A",
                    variable=var,value="A",
                    command=print_selection)
r1.pack()
'''
其中variable=var, value='A'的意思就是,
当我们鼠标选中了其中一个选项,把value的值A放到变量var中,
然后赋值给variable
'''

r2 = tk.Radiobutton(window,text="Option B",
                    variable=var,value="B",
                    command=print_selection)
r2.pack()

r3 = tk.Radiobutton(window,text="Option C",
                    variable=var,value="C",
                    command=print_selection)
r3.pack()

window.mainloop()

效果:
执行程序:
Tkinter 莫烦 基础_第10张图片
我们使用鼠标选择Option B:
Tkinter 莫烦 基础_第11张图片

6.Scale尺度

代码:

import tkinter as tk

# 设置窗口
window = tk.Tk() # 定义一个window窗口
window.title("my window") # 设置窗口的名字
window.geometry("200x200") # 设置窗口的大小

def print_selection(v):
    l.config(text='you have selected ' + v)

l = tk.Label(window, bg='yellow', width=20, text='empty')
l.pack()

s = tk.Scale(window,
             label='try me', # 名字
             from_=5, to=11, # 范围从5到10
             orient=tk.HORIZONTAL, # 选择方向,这里是横向
             length=200, # 200像素长度
             showvalue=0, # showvalue=0显示的就是效果图,上方无结果显示
             tickinterval=2,# 设置标签单位长度,这里效果为(5.00,7.00,9.00,11.00)
             resolution=0.01, # 保留两位小数。
             command=print_selection)
s.pack()

window.mainloop()

效果:
执行程序:
Tkinter 莫烦 基础_第12张图片
用鼠标拖动滑条:
Tkinter 莫烦 基础_第13张图片

7.Checkbutton部件

代码:
效果:

你可能感兴趣的:(python)