在Jupyter笔记本中使用Tkinter

sky*_*ird 5 python tkinter

我刚开始使用Tkinter并尝试在python中创建一个简单的弹出框.我从网站上复制粘贴了一个简单的代码:

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( )
Run Code Online (Sandbox Code Playgroud)

这段代码需要很长时间才能运行,已经差不多5分钟了!是不是只能运行这个片段?谁能告诉我如何使用Tkinter?

我正在使用jupyter笔记本和python版本2.7.我只会请求此版本的解决方案.

Ami*_*ano 7

您的代码工作正常。不过,对于那些使用python3模块名称的人,从Tkinter变为tkinter小写。编辑名称,一切顺利!

简而言之。

python2:

from Tkinter import *
Run Code Online (Sandbox Code Playgroud)

python3:

from tkinter import *
Run Code Online (Sandbox Code Playgroud)

看下面的截图

屏幕截图


Dea*_*ack 1

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()
Run Code Online (Sandbox Code Playgroud)

将上面的代码复制粘贴到编辑器中,保存并使用命令运行,

python sample.py
Run Code Online (Sandbox Code Playgroud)

注意:上面的代码非常模糊。就这样写出来了,方便大家理解。

  • 问题不在于代码,而在于 Jupyter。发布的代码 OP 运行良好。 (2认同)