Python tkinger GUI编程应用实例--考生信息增加与删除界面!

本实例设计一个包含Label组件、Entry组件、Combobox组件、Radiobutton组件、Checkbutton组件的GUI界面。其中,Combobox组件来自于thinter.ttk模块。程序运行后,输入考生姓名,选择考生省份、地区,并选择考生类别和专业等信息,单击‘增加’按钮,将学生信息添加到列表框中;选中列表框中的信息后,单击‘删除’按钮,将删除列表框中的信息。

 

实例代码:

from tkinter import *
from tkinter import ttk, messagebox

win = Tk()
win.title('考试系统注册!!!')
win.geometry('600x400')
#fram1=Frame()
#fram1.pack()
#varname=StringVar()     #
label1=Label(win,text='学生姓名:',justify=LEFT,width=10)
label1.grid(row=1,column=1,padx=30)
entry1=Entry(win,width=14)
entry1.grid(row=1,column=2,pady=10,padx=10)

label2=Label(win,text='省份:',justify=LEFT,width=10)
label2.grid(row=2,column=1,padx=30)
datas={'辽宁省':['沈阳市'],'广东省':['广州市'],'湖南省':['长沙市'],'浙江省':['杭州市']}
comboPrvince1=ttk.Combobox(win,width=12,values=tuple(datas.keys()))
comboPrvince1.grid(row=2,column=2,pady=10,padx=10)
def comboChange(event):
    grade=comboPrvince1.get()
    if grade:
        comboPrvince2['values']=datas.get(grade)
    else:
        comboPrvince2.set([])
comboPrvince1.bind('<>',comboChange)

label3=Label(win,text='地区:',justify=LEFT,width=10)
label3.grid(row=2,column=3,padx=20)
comboPrvince2=ttk.Combobox(win,width=12)
comboPrvince2.grid(row=2,column=4,pady=10,padx=10)

label4=Label(win,text='请选择类别:',justify=LEFT,width=10)
label4.grid(row=3,column=1,padx=20)
Student_radio=IntVar()#与学生累别相关联份的变量
Student_radio.set(1)
radio1=Radiobutton(win,text='本科学生',variable=Student_radio,value=1)
radio1.grid(row=3,column=2)
radio2=Radiobutton(win,text='专科学生',variable=Student_radio,value=0)
radio2.grid(row=3,column=3)

major=IntVar()  #与英语专业相关联的变量
check=Checkbutton(win,text='是否英语专业?',variable=major)
check.grid(row=4,column=1,pady=10)

def add_information():   #添加按钮事件处理函数
    if not entry1.get():
        messagebox.showwarning(title='注意!!!', message="输入学生姓名!")
    elif not comboPrvince1.get():
        messagebox.showwarning(title='注意!!!', message="请选择省份!")
    elif not comboPrvince2.get():
        messagebox.showwarning(title='注意!!!', message="请择地区!")
    else:
        result = '学生姓名:' + entry1.get()
        result = result + ';      省份:' + comboPrvince1.get()
        result = result + ';      地区:' + comboPrvince2.get()
        result = result + ';      类别:' + ('本科学生' if Student_radio.get() else '专科学生')
        result = result + ';      英语专业:' + ('yes' if major.get() else 'No')
        listbox_student.insert(0, result)


buttonAdd=Button(win,text='增加',width=10,command=add_information)
buttonAdd.grid(row=4,column=2)

def del_information(): #删除按钮事件处理函数
    selection=listbox_student.curselection()
    if selection:
        listbox_student.delete(selection)
    else:
        messagebox.showwarning(title='注意!!!',message="请选中要删除的学生信息!")

buttonDel=Button(win,text='删除',width=10,command=del_information)
buttonDel.grid(row=4,column=3,)

listbox_student=Listbox(win,width=83)  #创建列表框组件
listbox_student.grid(row=5,column=1,columnspan=4,padx=5)
win.mainloop()

程序运行结果: 

Python tkinger GUI编程应用实例--考生信息增加与删除界面!_第1张图片

 

 

你可能感兴趣的:(Python)