2
我有一個Python Tkinter GUI,它從用戶請求文件名。我想在每個文件被選中時在窗口的其他地方添加一個Entry()框 - 是否可以在Tkinter中執行此操作?動態調整大小並將小部件添加到Tkinter窗口
感謝
馬克
我有一個Python Tkinter GUI,它從用戶請求文件名。我想在每個文件被選中時在窗口的其他地方添加一個Entry()框 - 是否可以在Tkinter中執行此操作?動態調整大小並將小部件添加到Tkinter窗口
感謝
馬克
是的,這是可能的。您可以像添加其他任何小部件那樣執行此操作 - 請撥打Entry(...)
,然後使用其grid
,pack
或place
方法使其以可視方式顯示。
這裏是一個人爲的例子:
import Tkinter as tk
import tkFileDialog
class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.button = tk.Button(text="Pick a file!", command=self.pick_file)
self.button.pack()
self.entry_frame = tk.Frame(self)
self.entry_frame.pack(side="top", fill="both", expand=True)
self.entry_frame.grid_columnconfigure(0, weight=1)
def pick_file(self):
file = tkFileDialog.askopenfile(title="pick a file!")
if file is not None:
entry = tk.Entry(self)
entry.insert(0, file.name)
entry.grid(in_=self.entry_frame, sticky="ew")
self.button.configure(text="Pick another file!")
app = SampleApp()
app.mainloop()
謝謝!我的問題是部分新手錯誤,部分對Tk會做什麼缺乏信心;這幫助我整理了一下。 –
PS:我使用的是電網管理者。 –