2014-11-12 3 views
0

매우 개인적인 이유로 절차 적으로 프로그램합니다. 엔트리 위젯과 버튼 위젯이 하나의 함수에 포함 된 Tkinter 창을 만들고 버튼이 입력 위젯의 컨텐트를 처리해야하는 다른 함수를 트리거한다고 가정 해 봅시다.엔트리 위젯의 내용을 별도의 함수로 가져 오기

지금까지는 StringVar 및 전역 변수로 작업 할 수있었습니다.

클래스 및 전역 변수를 피할 수 있습니까?

#!는/usr/빈

try: 
    # Python2 
    import Tkinter as tk 
except ImportError: 
    # Python3 
    import tkinter as tk 

import os 


def output(): 
    global gamename 
    print("The widget's value is: " + gamename.get()) 

def newGame(): 
    global gamename 

    win1 = tk.Toplevel() 

    e = tk.Entry(win1, textvariable = gamename) 
    e.place(x = 0, y = 30, width=200, height=30)  
    outp = tk.Button(win1, text="Print", command=output) 
    outp.place(x = 0, y = 110, width=200, height=30) 

    win1.mainloop() 

root = tk.Tk() 
gamename = tk.StringVar() 

newGame() 
tk.mainloop() 

답변

1

는/파이썬 "나는 클래스와 전역 변수를 방지 할 수 있습니까?"

파이썬에서 큰 프로그램을 작성할 때 클래스를 사용하지 않도록 단순히 좋은 이유가 없다 번호. 작은 프로그램을 작성하는 경우 전역을 사용하는 데는 문제가 없습니다.

관련 문제