2017-01-28 8 views
-1

아래의 코드와 같이 Visual Studio에서 새 프로젝트를 만들고 있는데 Tkinter를 사용하는 GUI가 Visual Studio에서 작동하지 않습니다. 이것은 Visual Studio를 처음 사용하는 이유이며 작동하지 않는 이유를 찾을 수 없습니다.Visual Studio에서 tkinter가 작동하지 않는 이유는 무엇입니까?

from tkinter import * 
import tkinter as ttk 
#import os  #not needed 
root = Tk() 

#Setting up the window 

root.geometry("250x100") 
root.resizable(width=False, height=False)#Disables user to resize window 
root.title("Login") 

#Temp "DataBase" 

users=[("josh","python")] #<<<here ''josh'' is user and ''python'' i5s   password 
admins=[("josh1","python1")] 

# Login and signup function 

def login():  #login function 

    if (t1.get(),t2.get())in users:  #Temp for testing 
     root.destroy() 
     import MainWindow 
#  os.system("MainWindow")  #does not work 
     print("welcome") 

    elif (t1.get(),t2.get())in admins:  #Temp for testing 
     root.destroy() 
     import AdminMainWindow 
#  os.system("AdminMainWindow")  #does not work 
     print("welcome Admin") 

    else: 

     error.config(text="Invalid username or password") 

def signup():  #signup function 
    root.destroy 
    import SignupWindow 
# os.system("SignupWindow")  #does not work 

#arranging display varables 

top = Frame(root) 
bottom = Frame(root) 
top.pack(side=TOP, fill=BOTH, expand=True) 
bottom.pack(side=BOTTOM, fill=BOTH, expand=True) 

#error placement and font 

error = Label(root, font=("blod",10)) 
error.place(x=40,y=55) 

#input display setup 

l1 = Label(root,text="Username:") 
l2 = Label(root,text="Password:") 

t1 = Entry(root, textvariable=StringVar()) 
t2 = Entry(root, show="*", textvariable=StringVar()) 

b1 = Button(root,text="Login", command=login) 
b2 = Button(root,text="Signup", command=signup) 

#organising 

l1.pack(in_=top, side=LEFT) 
t1.pack(in_=top, side=LEFT) 
l2.pack(side=LEFT,) 
t2.pack(side=LEFT,) 
b1.pack(in_=top, side=BOTTOM) 
b2.pack(in_=bottom, side=BOTTOM) 

#end of Tk loop 

root.mainloop() 

파이썬 명령 줄이 표시되며 계속하려면 아무 키나 누르십시오.

나는 또한 사람들이 Tk 루프를 끝내지 않았기 때문에 온라인으로 보았지만 모두들 말하고있다.

visual studio screenshot

+0

'print()'를 추가하여 인쇄 할 것인지 확인하십시오. 프로젝트에서 하나의 파일이 더 많습니다. 아마도 프로젝트와 다른 파일을 시작할 것입니다. 어떤 파일이 실행되는지보기 위해서 모든 파일에'print()'를 넣으십시오. – furas

+1

코드가 VS 외부에서 작동하므로 VS에서 Python 스크립트를 실행하는 방법과 관련이있을 수 있습니다. @furas가 제안하고'root ', mainloop()'호출 바로 앞에'print ('starting loop ')'를 놓고 그것이 멀리 도달하는지 확인하십시오. Python 콘솔을보고 있기 때문에 가장 문제는 스크립트의 파일 이름이 인터프리터에 전달되지 않는다는 것입니다. – martineau

+0

감사합니다, 얘들 아,하지만 그것은 VS 외부에서 완벽하게 작동하고 iv는 루프 외부에서 일부 인쇄물을 추가하고 명령 창이나 명령 줄에서 인쇄하지 않습니다. 그러나 새 프로젝트를 만들고 print ("Hi")를 사용하면 같은 일이 발생하지만 명령 줄에서 "안녕"을 명령 줄에 인쇄합니다. @furas –

답변

0

당신은 내가 새 파일을 만들고 거기에 모든 코드를 배치 새 프로젝트를하기 전에. 한 번에 하나의 코드를 VS에 추가하면 작동하지만 모든 것을 함께 할 때는 작동하지 않습니다.