Tkinter
Jason Swails
jason.swails at gmail.com
Tue Apr 2 12:11:39 EDT 2013
Please keep response replies to the Python list (e.g., use 'reply all' or
just send the email to python-list).
Also, you should tell people what Python version you are using. I assume
you are using Python 2 since Tkinter was renamed to tkinter in Python 3.
Finally, do not top-post. Type your responses inside the body of the email
you are responding to. That gives people context for your responses.
On Tue, Apr 2, 2013 at 11:48 AM, Renato Barbosa Pim Pereira <
renato.barbosa.pim.pereira at gmail.com> wrote:
> Sorry for my inconsistence:
>
> I need a textbox to get one number and pass for variable called numero
> with one click of button. Thanks .
>
> I have this:
>
> import numpy as np
> import matplotlib.pyplot as plt
> from Tkinter import *
> import tkMessageBox
>
> prefixo = "vetor"
> numero = 10
> numeroVetores = 0
>
> def makeWidgets(numero):
> global entries
> window = Tk()
> window.title('Vetores')
> form = Frame(window)
> form.pack()
> entries = {}
> for ix in range(numero):
> label = "%s %s" % (prefixo , ix + 1)
> lab = Label(form, text=label)
> ent = Entry(form)
> lab.grid(row=ix, column=0)
> ent.grid(row=ix, column=1)
> entries[label] = ent
>
>
>
>
>
> Button(window, text="Calcular", command=calcular).pack(side=LEFT)
> Button(window, text="Media", command=media).pack(side=LEFT)
>
>
>
> return window
>
>
>
> def pegavalores():
> valores = []
> for chave, entrada in sorted(entries.items()):
> valores.append(entrada.get())
>
> return valores
>
>
> def calcular():
> calcular = pegavalores()
> plt.plot(calcular)
> plt.show()
>
> def media():
> media = pegavalores()
> elementos = len(media)
> media = np.asarray(media, dtype=np.float64)
> valormedio = np.sum(media)/elementos
> tkMessageBox.showinfo("Media", valormedio)
>
>
> window = makeWidgets(numero)
> window.mainloop()
>
I'm not sure exactly what you are trying to do. My guess is that you want
to get "numero" from user input. Luckily, the tkSimpleDialog module
contains a handy function that does just this: askinteger. So add a call:
numero = tkSimpleDialog.askinteger('Window Title', 'Please insert the
number of input values you want')
window = makeWidgets(numero)
window.mainloop()
I leave to you the task of bringing tkSimpleDialog into your namespace.
Good luck,
Jason
--
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
352-392-4032
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130402/3442dc56/attachment.html>
More information about the Python-list
mailing list