溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中怎么利用Tkinter實現(xiàn)一個學(xué)生管理系統(tǒng)

發(fā)布時間:2021-06-16 17:27:10 來源:億速云 閱讀:589 作者:Leah 欄目:開發(fā)技術(shù)

python中怎么利用Tkinter實現(xiàn)一個學(xué)生管理系統(tǒng),針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

#導(dǎo)入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)
# 窗口標(biāo)題
root.title('hc king')


# 標(biāo)簽 \ n
Label(root,text='信息管理',bg='white',fg='red',font=('宋體',15)).pack(side=TOP,fill='x')
# 數(shù)據(jù)表格
#居中
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)#定位式布局,即坐標(biāo)


dataTreeview.bind('<<TreeviewSelect>>',treeSel)#為dataTreeview綁定事件
bottomFrame.pack()#組件顯示
root.mainloop()#界面運(yùn)行

上述是系統(tǒng)的界面。

#點擊dataTreeview的某一項,就把數(shù)據(jù)拿到,放進(jìn)四個輸入框內(nèi)
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])

#把四個輸入框的數(shù)據(jù)放進(jìn)對象
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里面的數(shù)據(jù)
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)

關(guān)于python中怎么利用Tkinter實現(xiàn)一個學(xué)生管理系統(tǒng)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI