ここに質問を投稿したところ、コードを再構築するように勧められました。今では十分に異なっているので、新しい質問をすることは正当だと思います.
とにかく、リストボックスにドラッグ/ドロップ機能を追加しようとしていますが、最初のステップとして、イベントバインディングを最初に機能させることが適切であると考えました。現在、リストをクリックすると、リストボックスをクリックすると次のエラーが発生します。リストボックス ウィンドウが表示されますが、クリックするとエラーが発生します。
"AttributeError: make_list instance has no attribute 'nearest'.
また、build_listbox メソッドで listbox を出力すると、次の 10 進数が .40720520L と出力されます。これはリストボックスに値を出力すべきではありませんか? 結局のところ、それは同じ方法にあります。リストボックスが正しく作成されていませんか?
from Tkinter import *
import Tkinter
class make_list:
def move_mouse(self, event):
self.curIndex = event.nearest(event.y)
print self.curIndex
def click_button(self, event):
w= event.widget
self.curIndex = int(w.curselection()[0])
#print self.curIndex
value = w.get(self.curIndex)
print value
def build_main_window(self):
self.build_listbox()
def build_listbox(self):
listbox = Listbox()
listbox.bind('<<ListboxSelect>>', self.click_button)
listbox.bind('<B1-Motion>', self.move_mouse)
for item in ["one", "two", "three", "four"]:
listbox.insert(END, item)
listbox.insert(END, "a list entry")
listbox.pack()
print listbox
return
if __name__ == '__main__':
start = make_list()
start.build_main_window()
mainloop()