web-dev-qa-db-fra.com

Utiliser Tkinter dans Jupyter Notebook

Je viens de commencer à utiliser Tkinter et à essayer de créer une simple boîte de dialogue en python. J'ai copié un simple code d'un site web:

from Tkinter import *

master = Tk()
Label(master, text="First Name").grid(row=0)
Label(master, text="Last Name").grid(row=1)

e1 = Entry(master)
e2 = Entry(master)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)

mainloop( )

Ce code prend vraiment beaucoup de temps à exécuter, cela fait presque cinq minutes!

J'utilise jupyter notebook et python version 2.7. Je demanderais une solution pour cette version seulement.

5
sky_bird
from Tkinter import *

def printData(firstName, lastName):
    print(firstName)
    print(lastName)
    root.destroy()

def get_input():

    firstName = entry1.get()
    lastName = entry2.get()
    printData(firstName, lastName)


root = Tk()
#Label 1
label1 = Label(root,text = 'First Name')
label1.pack()
label1.config(justify = CENTER)

entry1 = Entry(root, width = 30)
entry1.pack()

label3 = Label(root, text="Last Name")
label3.pack()
label1.config(justify = CENTER)

entry2 = Entry(root, width = 30)
entry2.pack()

button1 = Button(root, text = 'submit')
button1.pack() 
button1.config(command = get_input)

root.mainloop()

Copiez-collez le code ci-dessus dans un éditeur, enregistrez-le et exécutez-le à l'aide de la commande,

python sample.py

Remarque: le code ci-dessus est très vague. Je l'ai écrit de cette manière pour que vous puissiez comprendre.

1
DeathJack

Votre code fonctionne très bien. Néanmoins, pour ceux qui utilisent python3, le nom du module est passé de Tkinter à tkinter, le tout en minuscule. Modifiez le nom et vous êtes prêt à partir!

En un mot.

python2: 

from Tkinter import *

python3:

from tkinter import *

Regardez la capture d'écran ci-dessous

 Screenshot

4
Aminu Kano