How do I use the data entered in a form?
Peter Otten
__peter__ at web.de
Sat Aug 22 02:25:32 EDT 2020
Steve wrote:
> def makeform(root, fields):
> entries = {}
> for field in fields:
...
> return entries
>
> if __name__ == '__main__':
> root = Tk()
> ents = makeform(root, fields)
>
> SR = (entries['Sensor_Reading'].get())
> print ("SR Outside = " + SR)
>
> ==================================
> The last two lines were guesses but they still failed.
[Always tell us how your code fails, please. If there's an exception include
it and the complete traceback in your post.]
In this case you probably get a NameError because 'entries' is a local
variable in makeform(). In the global namespace the person you copied the
code from used 'ents' -- so you have to either use ents, too,
> if __name__ == '__main__':
> root = Tk()
ents = makeform(root, fields)
...
SR = ents['Sensor_Reading'].get()
or rename it
> if __name__ == '__main__':
> root = Tk()
entries = makeform(root, fields)
...
SR = entries['Sensor_Reading'].get()
> # root.bind('<Return>', (lambda event, e = ents: fetch(e)))
> #"fetch not defined" reported here
Again, the author of the original code probably defined a fetch() function;
if you want to use it you have to copy it into your script.
More information about the Python-list
mailing list