欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實戰(zhàn)項目之MySQL tkinter pyinstaller實現(xiàn)學生管理系統(tǒng)

 更新時間:2021年10月21日 10:25:52   作者:鐵甲小寶同學  
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用MySQL、tkinter、 pyinstaller實現(xiàn)一個學生管理系統(tǒng),大家可以通過案例查缺補漏,提升水平

終極版終于有時間給大家分享了!?。?。

我們先看一下效果圖。

1:登錄界面:

2:查詢數(shù)據(jù)庫所有的內(nèi)容!

3:鏈接數(shù)據(jù)庫:

4:最終的打包!

話不多說直接上代碼?。。?!

from tkinter import *
import pymysql
from tkinter.messagebox import *
from tkinter import ttk
 
def get_connect():
    conn = pymysql.connect(host='localhost', user="root", passwd='GAO147258369',database='stu')
    return conn
 
window = Tk()
window.geometry('500x300')
window.title('登錄賬號!')
 
def create():
    root =Toplevel()
    root.geometry('700x800')
    root.title('學生管理系統(tǒng)')
 
    Label(root, text="學號:").place(relx=0, rely=0.05, relwidth=0.1)
    Label(root, text="姓名:").place(relx=0.5, rely=0.05, relwidth=0.1)
    Label(root, text="性別:").place(relx=0, rely=0.1, relwidth=0.1)
    Label(root, text="電話:").place(relx=0.5, rely=0.1, relwidth=0.1)
 
    sid1 = StringVar()
    name1 = StringVar()
    sex1 = StringVar()
    phone = StringVar()
    Entry(root, textvariable=sid1).place(relx=0.1, rely=0.05, relwidth=0.37, height=25)
    Entry(root, textvariable=name1).place(relx=0.6, rely=0.05, relwidth=0.37, height=25)
 
    Entry(root, textvariable=sex1).place(relx=0.1, rely=0.1, relwidth=0.37, height=25)
    Entry(root, textvariable=phone).place(relx=0.6, rely=0.1, relwidth=0.37, height=25)
 
    def add():
        list1 = []
        list1.append(sid1.get())
        list1.append(name1.get())
        list1.append(sex1.get())
        list1.append(phone.get())
        # print(list1)
        connection = get_connect()
        cur = connection.cursor(cursor=pymysql.cursors.DictCursor)
        sql = 'insert into student(學號,姓名,性別,電話) values("%s","%s","%s", "%s")'
        sid = int(list1[0])
        name = list1[1]
        sex = list1[2]
        iphone = int(list1[3])
        try:
            cur.execute(sql % (sid, name, sex, iphone))
            connection.commit()
        except Exception as e:
            connection.rollback()
            raise e
        finally:
            connection.close()
        showinfo('提示', '添加成功!')
 
    def search():
        showinfo('提示', '請輸入學號!')
        into = int(sid1.get())
        conn = pymysql.connect(host='localhost', user="root", passwd="", database='stu')
        cur = conn.cursor()
        sql = 'select * from student ;'
        cur.execute(sql)
        all = cur.fetchall()
        for i in range(len(all)):
            for j in all:
                if into == j[0]:
                    treeview.insert('', i, value=(j[0], j[1], j[2], j[3]))
                    break
            break
 
    def search_all():
        conn = pymysql.connect(host='localhost', user="root", passwd="", database='stu')
        cur = conn.cursor()
        sql = 'select * from student ;'
        cur.execute(sql)
        f = cur.fetchall()
        for i in range(len(f)):
            # for j in range(len(i)):
            treeview.insert('', i, value=(f[i][0], f[i][1], f[i][2], f[i][3]))
 
    Button(root, text="添加信息", command=add).place(relx=0.1, rely=0.2, width=100)
    Button(root, text="查詢個人信息", command=search).place(relx=0.3, rely=0.2, width=100)
    Button(root, text="查詢所有信息", command=search_all).place(relx=0.6, rely=0.2, width=100)
    Button(root, text="退出程序", command=root.quit).place(relx=0.8, rely=0.2, width=100)
 
    columns = ('學號', '姓名', '性別', '電話')
    treeview = ttk.Treeview(root, show='headings', columns=columns)
    treeview.column('學號', width=150, anchor='center')
    treeview.column('姓名', width=150, anchor='center')
    treeview.column('性別', width=150, anchor='center')
    treeview.column('電話', width=150, anchor='center')
 
    treeview.heading('學號', text='學號')
    treeview.heading('姓名', text='姓名')
    treeview.heading('性別', text='性別')
    treeview.heading('電話', text='電話')
 
    treeview.place(rely=0.3, relwidth=0.97)
Label(window,text = '賬號:').place(relx =0, rely = 0.05,relwidth = 0.3)
Label(window,text = '密碼:').place(relx = 0, rely = 0.15,relwidth =0.3)
 
#鼠標定位
zh = StringVar()
mm = StringVar()
#輸入框
Entry(window,textvariable =zh, show = None).place(relx =0.3,rely = 0.05,relwidth = 0.3)
Entry(window,textvariable =mm,show ='*').place(relx = 0.3,rely = 0.15 ,relwidth = 0.3)
 
#歡迎大家找小寶交流哦QQ:2922035952
#登陸函數(shù)
def dl():
    if zh.get() == '20' and mm.get() == '' :
        # showinfo('提示!','登錄成功!')
        # window.quit()
        return create()
    else:
        showerror('錯誤!','賬號或密碼錯誤!')
 
Button(window,text = '登錄', command =dl).place(relx = 0.2 ,rely = 0.3, relwidth = 0.5)
 
window.mainloop()

還有最后一步——代碼打包?。?!

我們可以用庫——pyinstaller

下載方法:打開cmd 輸入 pip install pyinstaller

然后在Terminal里輸入 pyinstaller -D -w xxxx.py

然后就成功啦?。。?!

最后總結一下:

這個gui界面其實還可以寫成學生登錄和老師登錄,再來一個注冊界面,都是用tk去實現(xiàn),然后老師和學生登陸后的功能不同,這個是一個想法,我沒有時間去寫了,有的小伙伴有時間可以去思考思考哦??!也歡迎和我討論,隨時歡迎?。?!

最后點點贊吧,我快你沒動力分享了!??!

到此這篇關于Python實戰(zhàn)項目之MySQL tkinter pyinstaller實現(xiàn)學生管理系統(tǒng)的文章就介紹到這了,更多相關Python 學生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python 讀寫excel文件操作示例【附源碼下載】

    python 讀寫excel文件操作示例【附源碼下載】

    這篇文章主要介紹了python 讀寫excel文件操作,結合實例形式分析了Python基于xlutils導入xlrd,xlwt庫操作Excel相關實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2019-06-06
  • Python中的is和id用法分析

    Python中的is和id用法分析

    這篇文章主要介紹了Python中的is和id用法,實例分析了is和id的功能及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python常問的100個面試問題匯總(上篇)

    Python常問的100個面試問題匯總(上篇)

    這篇文章主要介紹了Python常問的100個面試問題匯總(上篇),文章內(nèi)容詳細,簡單易懂,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2023-01-01
  • Python中的Pandas庫操作小結

    Python中的Pandas庫操作小結

    Pandas 是一個用于數(shù)據(jù)分析的 Python 第三方庫,能夠處理和分析不同格式的數(shù)據(jù),Pandas 提供了兩種數(shù)據(jù)結構,分別為 Series 和 DataFrame,靈活而方便地進行數(shù)據(jù)分析和操作,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-06-06
  • python定時截屏實現(xiàn)

    python定時截屏實現(xiàn)

    這篇文章主要介紹了python定時截屏實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • python基于遞歸解決背包問題詳解

    python基于遞歸解決背包問題詳解

    這篇文章主要介紹了python基于遞歸解決背包問題,遞歸是個好東西,任何具有遞歸性質的問題通過函數(shù)遞歸調(diào)用會變得很簡單。一個很復雜的問題,幾行代碼就能搞定,需要的朋友可以參考下
    2019-07-07
  • Django-migrate報錯問題解決方案

    Django-migrate報錯問題解決方案

    這篇文章主要介紹了Django-migrate報錯問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Pycharm 如何一鍵加引號的方法步驟

    Pycharm 如何一鍵加引號的方法步驟

    這篇文章主要介紹了Pycharm 如何一鍵加引號的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • python實現(xiàn)在列表中查找某個元素的下標示例

    python實現(xiàn)在列表中查找某個元素的下標示例

    這篇文章主要介紹了python實現(xiàn)在列表中查找某個元素的下標示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 使用python編寫android截屏腳本雙擊運行即可

    使用python編寫android截屏腳本雙擊運行即可

    使用python編寫一個截屏的腳本,雙擊運行腳本就OK,截屏成功后會將截屏文件已當前時間命名,并保存在存放腳本的當前路徑的screenshot文件夾下
    2014-07-07

最新評論