リストボックスから項目を選択しようとしていますが、ボタンを押すと、そのファイルのインデックス位置が別の関数に渡されます。
現在、ファイルを適切に選択しようとしていますが、機能していません。ディレクトリはopenfile(はい、名前の誤りなど)を介して選択され、directoryContentsに渡されます。ここから、コマンドプロンプトに「()」が出力されます。これは、ボタンが実行された直後ではなく、ボタンが押されたときにのみ発生するはずなので、それは私の問題の一部です。リスト内の項目を選択してボタンを押しても、何も起こりません。
リストの最初の項目を選択してボタンを押すと、コマンドプロンプトに(0)が出力されます。
class Actions:
def openfile(self):
directory = tkFileDialog.askdirectory(initialdir='.')
self.directoryContents(directory)
def filename(self):
Label (text='Please select a directory').pack(side=TOP,padx=10,pady=10)
def directoryContents(self, directory):
scrollbar = Scrollbar() #left scrollbar - display contents in directory
scrollbar.pack(side = LEFT, fill = Y)
scrollbarSorted = Scrollbar() #right scrollbar - display sorted files
scrollbarSorted.pack(side = RIGHT, fill = Y, padx = 2)
fileList = Listbox(yscrollcommand = scrollbar.set) #files displayed in the first scrollbar
for filename in os.listdir(directory):
fileList.insert(END, filename)
fileList.pack(side =LEFT, fill = BOTH)
scrollbar.config(command = fileList.yview)
fileList2 = Listbox(yscrollcommand = scrollbarSorted.set) #second scrollbar (button will send selected files to this window)
fileList2.pack(side =RIGHT, fill = BOTH)
scrollbarSorted.config(command = fileList2.yview)
selection = fileList.curselection() #select the file
b = Button(text="->", command=self.moveFile(selection)) #send the file to moveFile
b.pack(pady=5, padx =20)
mainloop()
def moveFile(self,File):
print(File)
#b = Button(text="->", command=Actions.moveFile(Actions.selection))
#b.pack(pady=5, padx =20)