2017-10-28 11 views
-1

でボタンをクリックしながら、私はそれを行うために追加すべきか負荷新しいフレーム/ウィンドウTkinterの

from tkinter import * 
import os 
import tkinter.messagebox as tm 

t=Tk() 
t.title('Gym Management') 
t["bg"]="black" 

#declaration of frame 
top=Frame(t) 
top.grid(row=0,columnspan=2) 
left=Frame(t) 
left.grid(row=1,column=0) 
right=Frame(t,bg="black") 
right.grid(row=1,column=1) 

#top frame 
l1=Label(top,text="Silver`s Gym",fg="yellow",bg="black",font="impact 50 bold",pady=30) 
l1.grid(sticky=E) 

#left frame 
img1=PhotoImage(file="1.png") 
i1=Label(left,image=img1,padx=10) 
i1.grid(row=0,column=0,sticky=E) 

#right frame 
l2=Label(right,text="USERNAME",fg="white",bg="black",padx=10,width=10) 
l2.grid(row=0,column=0) 
l3=Label(right,text="PASSWORD",fg="white",bg="black",padx=10,width=10) 
l3.grid(row=1,column=0) 
e2=Entry(right) 
e2.grid(row=0,column=1) 
e3=Entry(right,show="*") 
e3.grid(row=1,column=1) 
checkbox = Checkbutton(right, text="Keep me logged in",fg="white",bg="black") 
checkbox.grid(columnspan=2) 

# defining login button 
def login_btn_clickked(): 
     enter code here`#print("Clicked") 
     username = e2.get() 
     password = e3.get() 

     #print(username, password) 

     if username == "john" and password == "password": 
      tm.showinfo("Login info", "Welcome John") 
     else: 
      tm.showerror("Login error", "Incorrect username") 
#defining signup button 
def sugnup_btn_clickked(): 
    filename = 'test.py' 
    os.system(filename) #Open file [Same as Right-click Open] 
    os.system('notepad '+filename) 

logbtn = Button(right, text="Login", command = login_btn_clickked,width=15,padx=2) 
logbtn.grid(row=3,column=0) 
signup = Button(right, text="sign up", command = sugnup_btn_clickked,width=15,padx=2) 
signup.grid(row=3,column=1) 
t.mainloop() 

ボタンをクリックしながら、新しいフレーム/ウィンドウをロードするために持っているでTkinterのプログラムを作っていますか? 私は非常に、は非常に慎重に言葉フレームと話して単語ウィンドウを使用するときにしてください、私は

+2

です新しいフレームまたは新しいウィンドウ?あなたのコードが何をすることになっているのか、つまりユーザーのやりとりがどんなものなのかを記述してください。 – Novel

答えて

0

を行っているトンの方法でそれを説明してくださいTKの概念を学ぶhaven`t tkinter。

これは非常に、非常にです。 Tkinterでは

Frameウィジェットは、基本的にあなたが物事を置く「ボックス」です。彼らは道に似た(ただし、同一ではない)ウィンドウで独自の容器に異なるウィジェットを分離するために使用することができるもので、HTMLのdivの仕事。

tkinter Tk()ウィンドウとToplevelウィジェットには、2つの異なるタイプのウィンドウがあります。

このような場合は、なぜ重要な違いは、あなたがこれまで以上Tk()ウィンドウを持つべきではないことthis answerは説明しています。一方、ウィジェットはいつでもどこでも使用でき、アプリケーションが複数のウィンドウを持つ必要があるときはいつでも、「余分なウィンドウ」として使用する必要があります。Toplevel

以下のスクリプトは、新しいFrameウィジェットはちょうど空の赤い四角と新しいToplevelウィジェットですFrame sおよびToplevelの両方を作成するためのボタンを使用する方法を示しあなたはロードするだけで、空の窓

from tkinter import * 

root = Tk() 

def frame(): 
    Frame(root, bg="red", width=100, height=100).pack(padx=5, pady=5) 

def window(): 
    Toplevel(root) 

framebutton = Button(root, text="Frame", command=frame) 
framewindow = Button(root, text="Window", command=window) 

framebutton.pack() 
framewindow.pack() 

root.mainloop()