将条目小部件的内容放入单独的函数中

时间:2014-11-12 22:26:53

标签: python tkinter widget tkinter-entry

由于个人原因,我在程序上编程。假设我在一个函数中创建了一个带有条目小部件和按钮小部件的Tkinter窗口,该按钮触发另一个应该处理条目小部件内容的函数。

到目前为止,我只是设法使用StringVar和全局变量。

我可以避免使用类和全局变量吗?

#!的/ usr / bin中/ Python的

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 个答案:

答案 0 :(得分:1)

  

"我可以避免使用类和全局变量吗?"

没有

在python中编写大型程序时,没有充分的理由不使用类。如果您正在编写小程序,那么使用全局变量并没有错。