使用Tkinter进行GUI程序设计

概述

Tkinter(Tk Interface)python的标准GUI库。

Tkinter的常用部件

1 Label & Button(标签和按钮)

# 导入tkinter
import tkinter as tk

# 主窗口
window = tk.Tk()
window.title("My Window")   # 窗口标题
window.geometry('200x100')  # 窗口尺寸

# 标签
var = tk.StringVar()
l = tk.Label(window, textvariable=var, bg='green', font=('Arial', 12), width=15, height=2)
l.pack()

# 按钮的响应事件
on_hit = False
def hit_me():
    global on_hit
    if on_hit == False:
        on_hit = True
        var.set('you hit me')
    else:
        on_hit = False
        var.set('')

# 按钮
b = tk.Button(window, text='hit me', width=15, height=2, command=hit_me)
b.pack()

# 主事件循环
window.mainloop() 



2 Entry & Text(输入和文本框)

# 导入tkinter
import tkinter as tk

# 主窗口
window = tk.Tk()
window.title('My Window')
window.geometry('200x200')

# 单行输入框
e = tk.Entry(window, show = None)
e.pack()

# 响应事件
def insert_point():
    var = e.get()
    t.insert('insert', var)

def insert_end():
    var = e.get()
    t.insert('end', var)

# 按钮1
b1 = tk.Button(window, text='insert point', width=15, height=2, command=insert_point)
b1.pack()

# 按钮2
b2 = tk.Button(window, text='insert end', width=15, height=2, command=insert_end)
b2.pack()

# 文本框
t = tk.Text(window, height=2)
t.pack()

# 主事件循环
tk.mainloop()


3 Listbox(列表)

# 导入tkinter
import tkinter as tk

# 主窗口
window = tk.Tk()
window.title('My Window')
window.geometry('200x200')

# 创建一个Label用于显示选中的内容
var1 = tk.StringVar()
l = tk.Label(window, bg = 'yellow', width = 10, textvariable = var1)
l.pack()

# 响应事件
def print_selection():
    value = lb.get(lb.curselection())
    var1.set(value)

# 按钮
bl = tk.Button(window, text = 'print_selection', width = 15, height = 2, command = print_selection)
bl.pack()

# Listbox
var2 = tk.StringVar()
var2.set((11, 22, 33, 44))
lb = tk.Listbox(window, listvariable = var2)
list_items = [1, 2, 3, 4]
for item in list_items:
    lb.insert('end', item)
lb.insert(1, 'first')
lb.insert(2, 'second')
lb.pack()

# 主事件循环
window.mainloop()



4 Radi

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值