From 5cd92e8dc2da57dd73fa148f2d89bd66f48dc7af Mon Sep 17 00:00:00 2001 From: molaboon Date: Sat, 3 Jul 2021 14:15:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E8=A6=81=E6=AA=94=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainTkinter.py | 26 +++++++++++++++++++++++++ firstpage.py | 51 +++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 MainTkinter.py diff --git a/MainTkinter.py b/MainTkinter.py new file mode 100644 index 0000000..dd5782b --- /dev/null +++ b/MainTkinter.py @@ -0,0 +1,26 @@ +from tkinter import * +from firstpage import * +from MainWin import * +from config import CONFIG +from Ncnu import * +from Moodle import * +from NcnuMainWin import * +from api.moodle import MoodleAPI +from api.ncnu import NcnuAPI + +def main(): + win=Tk() + firstWin(win) + moodle = MoodleAPI(CONFIG['moodle']['username'], CONFIG['moodle']['password']) + ncnu = NcnuAPI(CONFIG['NCNU']['username'], CONFIG['NCNU']['password']) + if moodle.status and ncnu.status: + mainWin=Tk() + createMainWin(mainWin,ncnu,moodle) + else: + loginWin=Tk() + loginwin(loginWin) + + + + +main() \ No newline at end of file diff --git a/firstpage.py b/firstpage.py index 18f4f1d..d2cf0e0 100644 --- a/firstpage.py +++ b/firstpage.py @@ -1,15 +1,23 @@ -from tkinter import * +from tkinter import * from tkinter import ttk +from config import CONFIG +import json +from api.moodle import MoodleAPI +from tkinter import messagebox +from api.ncnu import NcnuAPI +from MainWin import * -def firstWin(): - first=Tk() + +def firstWin(first): + #first=Tk() + #login.withdraw() first.geometry("600x400") first.minsize(400,400) first.maxsize(600,600) first.configure(background="skyblue") frame=Frame(first,bg="skyblue") - go_to_loginwin_btn=Button(first,text="進入登入畫面",font="Helvetica 20",bg="yellow",command=lambda: [first.destroy(),loginwin()] ) + go_to_loginwin_btn=Button(first,text="開始進入暨管家",font="Helvetica 20",bg="yellow",command=lambda: [first.destroy()] ) text_lb=Label(frame,text="歡迎來到暨管家",font=("Courier New Greek",40),bg="skyblue") photo = PhotoImage(file="100_100.gif") imgLabel =Label(frame,image=photo,bg="skyblue") @@ -21,8 +29,8 @@ def firstWin(): first.mainloop() -def loginwin(): - login=Tk() +def loginwin(login): + #login=Tk() login.geometry("300x200") login.configure(bg="lightgreen") login.resizable(width=0,height=0) @@ -33,7 +41,7 @@ def loginwin(): frame3=Frame(login,width=300,height=100,bg="lightgreen") prompt_lb=Label(frame,text="請輸入你的學號與密碼",font="Helvetica 20",bg="lightgreen") - login_btn=Button(frame3,text="登入",command=lambda:print("1")) + login_btn=Button(frame3,text="登入",command=lambda:Login() ) enter_name=Entry(frame1,bd=3) enter_password=Entry(frame2,show="*",bd=3) name_lb=Label(frame1,text="學號",font="Helvetica 12",bg="lightgreen") @@ -41,7 +49,31 @@ def loginwin(): show_password=Button( frame3,text="透視密碼") show_password.bind( '',lambda event:enter_password.config(show="")) show_password.bind( '',lambda event : enter_password.config(show="*") ) - + + + #===== 輸入帳密===== + def Login(): + with open('config.json') as fp: + CON = json.load(fp) + CON["semester"]="1092" + CON["moodle"]["username"]=str(enter_name.get() ) + CON["moodle"]["password"]=str(enter_password.get()) + CON["NCNU"]["username"]=str(enter_name.get()) + CON["NCNU"]["password"]=str(enter_password.get()) + + json.dump(CON, open("config.json", "w")) + try: + moodle = MoodleAPI(CONFIG['moodle']['username'], CONFIG['moodle']['password']) + ncnu = NcnuAPI(CONFIG['NCNU']['username'], CONFIG['NCNU']['password']) + moodle.status + ncnu.status + except: + messagebox.showinfo(message="Error") + else: + login.destroy + mainWin=Tk() + createMainWin(mainWin,ncnu,moodle) + frame.pack() frame1.pack() frame2.pack() @@ -56,5 +88,6 @@ def loginwin(): login.mainloop() -firstWin() + +