我開始做一個簡單的提示窗口,其中用戶將填寫目錄的名稱以抓取圖像以及保存結果.csv文件的位置(以及其他一些信息) 。不知道Tkinter類的結構和佈局
在按下回車鍵後(在這種情況下),我希望這個提示窗口關閉,主窗口將顯示用戶要執行的所有工作。
總之,這是開始爲我的GUI構建類的正確方法嗎?此外,爲什麼行:
frame = Frame(master, height=500,padx=20, pady=20)
不改變這個初始窗口的格式/佈局?
我覺得一旦我對如何建立這個初始窗口有一個牢固的把握,我將有適當的基礎繼續自己休息。
#imports
from Tkinter import *
import glob
from PIL import Image, ImageTk
#end imports
class prompt_window:
def __init__(self, master):
frame = Frame(master, height=500,padx=20, pady=20)
#Build prompt window labels
self.source_label = Label(root, text="Source Directory")
self.destination_label = Label(root, text="Destination Directory")
self.region_sz_label = Label(root, text="Region Size")
self.save_file_name_label = Label(root, text="Save File Name")
#Build prompt window entry forms
self.source_entry = Entry(root)
self.destination_entry = Entry(root)
self.region_sz_entry = Entry(root)
self.save_file_name_entry = Entry(root)
#Build enter button
self.enter_button = Button(root, text="Enter")
#Align labels in prompt window grid
self.source_label.grid(row=0)
self.destination_label.grid(row=1)
self.region_sz_label.grid(row=2)
self.save_file_name_label.grid(row=3)
#Align entry forms in prompt window grid
self.source_entry.grid(row=0, column=1)
self.destination_entry.grid(row=1, column=1)
self.region_sz_entry.grid(row=2, column=1)
self.save_file_name_entry.grid(row=3, column=1)
#Add button
self.enter_button.grid(row=4,column=2)
#create root
root = Tk()
#create prompt window
prompt = prompt_window(root)
#run indefinitely
root.mainloop()
您需要在'frame'上調用'.grid()',它可能應該是其他小部件而不是'root'的第一個參數。該類的名稱應該改爲'PromptWindow',以符合[PEP 8 - Python代碼樣式指南](https://www.python.org/dev/peps/pep-0008/)。 – martineau
@martineau能否解釋爲什麼.grid()應該在框架上調用,以及它與維護正確的結構有何關係? –
**如果您的代碼按預期方式正常工作且沒有任何錯誤**,並且您需要關於性能或代碼的建議,則可以在[CodeReview](https://codereview.stackexchange.com/)上發佈問題。當然,在發佈之前,請閱讀他們的旅遊網頁。 – Lafexlos