无法在函数内部访问python变量

时间:2017-09-19 13:50:41

标签: python tkinter

对于这个初学者的问题很抱歉,但我现在没办法解决。 我有一个非常简单的python脚本,类似于:

import os
from tkinter import *

master = Tk()
master.title = "Test"
master.geometry("500x600")
input_str = Entry(master)
input_str.grid(row=1, column=1, sticky=W)
path = str(input_str.get())

def loadconfigs():
    print(path)

.......
.......

每次调用函数“function”时,它只会打印出一行空白文本。 我相信这很容易解决。 提前谢谢!

此致

2 个答案:

答案 0 :(得分:3)

在创建关联条目后立即设置path变量ONCE - 它不可能包含任何内容!您需要推迟在条目上调用.get(),直到按钮单击或其他需要使用键入的值完成某事的事件。

答案 1 :(得分:-4)

最简单的方法是使用全局变量

import os
from tkinter import *

master = Tk()
master.title = "Test"
master.geometry("500x600") 
input_str = Entry(master) 
input_str.grid(row=1, column=1, sticky=W)
global path
path = str(input_str.get())

def loadconfigs():
   global path
   print(path) l

虽然全局变量并不理想。除非你以对象为导向,否则你不能用tkinter来避免它们。