2014-08-31 4 views
0

GUI에 로그인 할 때 올바른 세부 정보를 입력하면 사용자가 홈 화면 페이지로 이동합니다.NameError : 글로벌 이름 'WTI'가 정의되지 않았습니다.

def login(): 
    content = nameentry.get() 
    content1 = IDentry.get() 
    if content == "1" and content1 == "1": 
     root.destroy(), execfile("Homescreenscroll - Copy3.1.py") 

그러나, Homescreenscroll 때 - Copy3.1.py가 열리고 실행, 그것은이 명확하게 정의되어 있지만

Exception in thread Thread-1: Traceback (most recent call last):

File "C:\Users\Isaac\Desktop\Py\lib\threading.py", line 530, in __bootstrap_inner

self.run()

File "C:\Users\Isaac\Desktop\Py\lib\threading.py", line 483, in run

self.__target(*self.__args, **self.__kwargs)

File "Homescreenscroll - Copy3.1.py", line 5862, in trick

WTI['text'] = row[0] 

NameError: global name 'WTI' is not defined

말한다 'Homescreenscroll - Copy3.1.py'파일을

그것은 'Homescreenscroll - Copy3.1.py'에서이 스레드의 일부 파일을

WTI = Label(text = "") 

def trick(threadName, sleepTime): 
    while 1 < 2: 
    db=MySQLdb.connect(host = "xxx", 
        user = "xxx", 
        passwd = "xxx", 
        db = "test") 
    cursor = db.cursor() 
    cursor.execute("""xxxx""", (xxxxx)) 
    cursor.execute("""xxxx""", (xxxx)) 
    db.commit() 
    row=cursor.fetchone() 
    WTI['text'] = row[0] 


try: 
    t = threading.Thread(target=trick, args=("Trick running", 5)) 
    t.daemon = True 
    t.start() 
except: Exception, 
print "start up" 
+0

'login' 함수와'try' 섹션이 비어있는 것처럼 보입니다. 들여 쓰기를 수정하십시오. – Elisha

+0

'Label'을'Tkinter' 객체로 추측했습니다. 이 정보를 추가하십시오. 또한, '트릭 (twick)'기능의 시작 부분에'global WTI' 줄을 추가하려고 시도하면 – Elisha

답변

0

데피 ne WTI.
아무 것도 아닌 정의 대신 일부 텍스트를 입력하십시오.

+0

이 처음 비어있는 것을 의미하고 '트릭'기능이 들어갑니다. –

+0

[0] 행의 출처는 어디입니까? – DarinL

+0

row [0]은 cursor.execute, row = cursor.fetchone ( –

0

모듈을 가져 오면됩니다. 그것은 저를 위해 그것을 한 것을 보였다.

그래서, 로그인 GUI에서 나는 뒀다 :

def login(): 
content = nameentry.get() 
content1 = IDentry.get() 
if content == "1" and content1 == "1": 
    root.destroy() 
    from HomescreenscrollCopy31 import FullScreenApp 

유일한 문제는 지금 모듈 내에서 로그인 방식을 통해 호출 될 때 실행되지 않는 '트릭'라는 스레드가 것입니다. 그것은 실제 HomescreenscrollCopy31.py 버전을 실행할 때만 작동합니다! 로그인 화면을 통해 열었을 때

class FullScreenApp(object): 
    def __init__(self, master, **kwargs): 
     self.master=master 
     pad=3 
     self._geom='200x200+0+0' 
     master.geometry("{0}x{1}+0+0".format(
      master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad)) 
     master.bind('<Escape>',self.toggle_geom)    
    def toggle_geom(self,event): 
     geom=self.master.winfo_geometry() 
     print(geom,self._geom) 
     self.master.geometry(self._geom) 
     self._geom=geom 

    def trick(threadName, sleepTime): 
     while 1 < 2: 
      .... 
    try: 
     t = threading.Thread(target=trick, args=("Trick running", 5)) 
     t.daemon = True 
     t.start() 
    except: Exception, 
    print "start up" 

는, 쉘 만이 "트릭 실행"

이 왜 "를 시작하지"결코 인쇄 :

HomescreenscrollCopy31.py가 좋아하는이 보인다?

관련 문제