2017-08-29 183 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

相關問題