1. 程式人生 > >python:Tkinter版學生管理

python:Tkinter版學生管理

Tkinter是python自帶的UI包,無需下載,只需要匯入

tkinter 文件http://effbot.org/tkinterbook/ //http://effbot.org/tkinterbook//// 文件是英文版本的,可以翻譯!

介面效果如下: python的pc端介面還是可以的,較為美觀!

哈哈

頁面較為粗狂,為經過專業設計!

系統的物件封裝,資料連線使用的是原本控制檯版本的!

#匯入tkinter 包
from tkinter import *
from tkinter import ttk
from com.hc.dao.Connect import *
from com.hc.entity.Student import
* root=Tk() # 視窗寬高 英文X root.geometry('600x500') # 固定視窗 root.resizable(width=False,height=False) # 視窗標題 root.title('hc king') # 標籤 \ n Label(root,text='資訊管理',bg='white',fg='red',font=('宋體',15)).pack(side=TOP,fill='x') # 資料表格 #居中 dataTreeview=ttk.Treeview(root,show='headings',column=('sid','sname','sex'
,'sage')) dataTreeview.column('sid',width=150,anchor="center") dataTreeview.column('sname',width=150,anchor="center") dataTreeview.column('sex',width=150,anchor="center") dataTreeview.column('sage',width=150,anchor="center") dataTreeview.heading('sid',text='編號') dataTreeview.heading('sname',text='名稱')
dataTreeview.heading('sex',text='性別') dataTreeview.heading('sage',text='年齡') bottomFrame=Frame(root) sidLabel=Label(leftFrame,text='編號:') snameLabel=Label(leftFrame,text='名稱:') sexLabel=Label(leftFrame,text='性別:') sageLabel=Label(leftFrame,text='年齡:') sidEntry=Entry(leftFrame) snameEntry=Entry(leftFrame) sexEntry=Entry(leftFrame) sageEntry=Entry(leftFrame) sidLabel.grid(row=0,column=0) sidEntry.grid(row=0,column=1) snameLabel.grid(row=0,column=2) snameEntry.grid(row=0,column=3) sexLabel.grid(row=1,column=0) sexEntry.grid(row=1,column=1) sageLabel.grid(row=1,column=2) sageEntry.grid(row=1,column=3) insButton=Button(rightFrame,text="新增",command=insert) insButton.grid(row=0,column=0) delButton=Button(rightFrame,text="刪除",command=delete) delButton.grid(row=0,column=1) updButton=Button(rightFrame,text="修改",command=update) updButton.grid(row=1,column=0) selButton=Button(rightFrame,text="查詢",command=select) selButton.grid(row=1,column=1)#定位式佈局,即座標 dataTreeview.bind('<<TreeviewSelect>>',treeSel)#為dataTreeview繫結事件 bottomFrame.pack()#元件顯示 root.mainloop()#介面執行

上述是系統的介面。

#點選dataTreeview的某一項,就把資料拿到,放進四個輸入框內
def treeSel(event):
    item=dataTreeview.selection()
    itemvalues=dataTreeview.item(item,'values')
    clearEntry()
    sidEntry.insert(0,itemvalues[0])
    snameEntry.insert(0, itemvalues[1])
    sexEntry.insert(0, itemvalues[2])
    sageEntry.insert(0, itemvalues[3])

#把四個輸入框的資料放進物件
def update():
    student = Student()
    student.stuId = sidEntry.get()
    student.stuName = snameEntry.get()
    student.stuSex = sexEntry.get()
    student.stuAge = sageEntry.get()
    DataBase().updUser(student)
    clearAndall()


#刪除dataTreeview裡面的資料
def clear():
    clearEntry()
    for item in dataTreeview.get_children():
        dataTreeview.delete(item)


def addAll():
    for o in DataBase().allUser():
        dataTreeview.insert('',0, values=(o[0], o[1], o[2], o[3]))

#清空四個輸入框
def clearEntry():
    sidEntry.delete(0, END)
    snameEntry.delete(0, END)
    sexEntry.delete(0, END)
    sageEntry.delete(0, END)


上述是系統所需的具體方法! 仍然需要改進!