基於python和tkinter實現的一個簡單的學生信息管理系統
1、需求分析
1、該大學生信息管理系統採用了tkinter來創建窗口界面。使得界面更加的美觀。
2、實現了與數據庫的連接,能夠將老師和學生的信息保存或者讀取,而且可以通過數據庫訪問基本信息
3、實現了學生的數據的增加,刪除,查找,修改等功能。
4、該系統還給老師和學生分配了一定的權限,老師登陸後具有管理員的權限,而學生登陸後,只能查看自己的相關信息。
2、功能設計與分析
1、程序一開始,先進入一個登陸界面,如圖:
開始界面,通過self.window=tk.Tk()創建出來一個窗體,使用label標籤添加文字,使用Button按鈕組件創建按鈕。
2、點擊老師登錄,會進入老師的(管理員的界面),點擊學生登錄會進入學生的查看自己信息的界面,點擊關於,就是有關我的一些信息,點擊退出,就退出該系統。
點擊老師登錄,如圖:
登陸時。這裏連接了數據庫,通過db = pymysql.connect(“localhost”, “root”, “root”, “student(python)”)打開數據庫連接,使用遊標進行操作數據庫,實現增刪查改。
3、輸入賬號密碼進入後
4、在這個界面裏面實現了對於學生信息的增刪查改,點擊信息表的表頭(學號、年齡)可以進行排序,在學號欄裏輸入學號,點擊查找就可以找到對應的學生信息。
5、點擊學生登錄就會進入到學生查看學生信息的界面,如圖:
流程圖:
3、總結與體會
總結:
在設計之初,我想過對於該大學生信息管理系統的界面的顯示情況,我感覺對於正常的使用來說,是分權限的,比如老師可以幹什麼,學生可以幹什麼,想象的還是比較簡單的,但是在執行起來就比較麻煩了,比如,在初始界面,老師登錄後,之前的那個界面怎麼進行隱藏,在該界面執行完成後,怎麼退回到前面的那個界面,還有就是比如要修改一個學生的信息,我們怎麼獲取到已存在的那個信息,然後進行修改,還有就是,頁面的佈局,然後是排序,我一開始想的是排序單獨使用一個按鈕,然後將排好序的放在一個新的界面裏面,但是我感覺這這樣的話,就不太美觀,剛巧那天在網上看到了一個列表的排序的方法,就使用上了,開始還想到使用冒泡,選擇排序等方法進行排序,但是操作起來比較麻煩,由於數據量比較大,還要使用數組,或者鏈表進行操作,感覺更加麻煩,後來在網上找到的方法幫我解決了。代碼如下:
體會:
通過本次課程設計的編寫,我大致的對於python語言瞭解的更加深入一點,感受到了python語言的簡潔,明瞭,掌握了python與數據庫之間的連接,瞭解了python之間類與類之間的關係,以及對於增刪查改的邏輯處理,這次課程設計,我的收穫不小,當然也要感謝老師在疫情期間對於我們的教導,最後謝謝老師!!