这是一个python3下使用tkinter创建界面的一个示例,里面使用了几种控件:标签、输入框、复选框、按钮、文本域和消息框,并使用了grid布局,并为窗体的关闭、按钮的点击和复选框的选中取消添加了事件,使用了两种事件绑定方式。为窗体关闭添加了提示消息框,确认后才能退出。基本上这个示例囊括了tkinter中经常会用到的控件的几种使用方式,希望对大家有所帮助。
哦,该示例在python3上运行无虞。python2我没试过。简书根本就不支持添加代码啊~~
# written by wangluojisuan
import tkinter
from tkinter import messagebox
global main_form
global lbl_name
global entry_name
global entry_text_var
global chk_var
global chk
global text_area
def window_quit():
if tkinter.messagebox.askyesno("提示", "退出?"):
main_form.quit()
def btn_click(event):
str_entry = entry_name.get()
text_area.insert('end', '%s,%s\n'%(str_entry, entry_text_var.get()))
def chk_select():
text_area.insert('end', '%s\n'%(chk_var.get()))
if __name__ == '__main__':
# 窗体
main_form = tkinter.Tk() # 主窗体
main_form.wm_title('tkinter的演示程序') # 修改窗体标题
# 标签
lbl_name = tkinter.Label(main_form, text='姓名:', background='red')
# 添加标签
lbl_name.grid(row=0, column=0, sticky='w', ipadx=10, padx=20) # 设置标签位置
# 输入框
entry_text_var = tkinter.StringVar()
entry_text_var.set('默认值')
entry_name = tkinter.Entry(main_form, textvariable=entry_text_var)
entry_name.grid(row=0, column=1)
# 复选框
chk_var = tkinter.IntVar()
chk = tkinter.Checkbutton(main_form, text='附加', variable=chk_var, command=chk_select)
chk.grid(row=0, column=2)
# 按钮
btn = tkinter.Button(main_form, text='点击')
btn.grid(row=0, column=3, ipadx=10, padx=10)
btn.bind('', btn_click)
# 文本域
text_area = tkinter.Text(main_form) text_area.grid(row=1, columnspan=4)
# 窗体关闭事件
main_form.protocol('WM_DELETE_WINDOW', window_quit)
main_form.mainloop()