2017-08-29 182 views
3

我刚开始使用Tkinter并试图在python中创建一个简单的弹出框。我已经复制粘贴简单的代码从网站:在Jupyter Notebook中使用Tkinter

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() 

此代码正在很长一段时间的运行,它已经将近5分钟! 是不是可以运行这个代码片段? 任何人都可以告诉我如何使用Tkinter?

我使用jupyter笔记本和python版本2.7。我只会要求为此版本提供解决方案。

+1

问题是什么画面?你的代码对我来说运行良好。如预期的那样,它立即显示带有两个字段的表单。 –

+1

脚本中没有错误。它工作正常。你想知道如何运行这段代码吗?复制粘贴代码到你的编辑器,保存它(sample.py),在终端中使用python3 sample.py运行它。你想从tkinter master或tkinter中的2个文本框中弹出吗? –

+0

@ DeathJack2.0只是一点点更正:python2 **或'从tkinter导入*' – Lafexlos

回答

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() 

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

python sample.py 

注:上面的代码是非常模糊的。已经以这种方式写出来让你明白。

+0

关于python 2和你的解决方案的问题是:install python 3?那很奇怪。更改导入以使其可运行会更容易 – Lafexlos

+0

我正在使用python 2.7,并且将无法安装python 3.是否有此版本的解决方案? –

+0

@Lafexlos编辑。 –

0

您可以创建一个弹出的信息窗口如下:

showinfo("Window", "Hello World!")

如果你想创建一个输入掩码一个真正的弹出窗口,你需要生成一个新的顶级面具,打开第二个窗口。

win = tk.Toplevel() 
win.wm_title("Window") 

label = tk.Label(win, text="User input") 
label.grid(row=0, column=0) 

button = ttk.Button(win, text="Done", command=win.destroy) 
button.grid(row=1, column=0) 
2

你的代码工作得很好。尽管如此,对于那些使用python3模块名称已从Tkinter更改为tkinter全部以小写字母。编辑名字,你很好走!

简而言之,

python2:

from Tkinter import * 

python3:

from tkinter import * 

看看下面

Screenshot

相关问题