我是 GUI 新手,我制作了一個基本的搜索引擎,可以查找包含某些單詞的檔案并將它們放在一個串列中。
現在,我希望這個路徑串列顯示在我的 GUI 上,一個在另一個之下(\n我猜是這樣),所有這些路徑都可以點擊并自動為您打開正確的檔案,例如:
os.startfile(path, 'open')
在當前版本中,我只顯示一個結果(串列中的第一個),并且我正在使用這樣的標簽:
my_label.config(text=path)
my_label.bind("<Button-1>", lambda e: os.startfile(path, 'open'))
我可以制作更多標簽,但它效率低下,也不是動態的(例如,我設想的標簽會列出所有結果并可以滾動)。
感謝這方面的任何幫助。
uj5u.com熱心網友回復:
您可以使用一組Label并bind右鍵單擊它,或者使用一個Listbox來顯示您的路徑并bind在其上。
from tkinter import *
import os
root = Tk()
lst = [f'path {i}' for i in range(1,6)]
def select(e):
path = e.widget.get(*e.widget.curselection())
os.startfile(path,'open')
lstbox = Listbox(root)
lstbox.pack(padx=10,pady=10)
for i in lst:
lstbox.insert('end',i)
lstbox.bind('<<ListboxSelect>>',select) # Or lstbox.bind('<Double-1>',select) for double click
root.mainloop()
lst應該替換為您所需的串列。另一種可行的方法是設定Buttons與command打開所需的路徑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/407101.html
標籤:
上一篇:對話框在動作條件下不起作用
