class simpleapp_tk(tkinter.Tk):
def __init__(self,parent):
tkinter.Tk.__init__(self,parent)
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
self.ZOOMIN = tkinter.Button(self,text="ZOOM IN")
self.ZOOMIN.grid(column=1,row=6)
self.ZOOMIN.bind("<Button-1>",self.bzoomin())
self.ZOOMIN.bind("<ButtonRelease-1>", self.brzoomin())
self.pollvar=0
def poll(self):
if self.pollvar==1:
self.ZOOMIN.after(300,self.poll())
self.OnZOOMINClick()
def brzoomin(self,event):
self.pollvar=0
def bzoomin(self,event):
self.pollvar=1
self.poll
def OnZOOMINClick(self):
....code
if __name__ == "__main__":
app = simpleapp_tk(None)
app.title('CAMERA CONTROLL v1')
app.mainloop()
zoominbutton で mousebutton-1 が押されている間、繰り返し呼び出される関数を作成しようとしています。これは、ポーリングによって実装されることになっています。ボタンをクリックすると、ポーリング関数が呼び出されます。ポーリングは、mousebutton-1 が離されるまで継続して実行されます。しかし問題は、ボタンを押しても何も起こらないことです。
指摘された誤りを修正しました。しかし、ウィンドウ自体が表示されなくなり、「self.ZOOMIN.after(300,self.poll())」という行が原因でコードが無限ループに入るため、コードにはまだ問題があるはずです。(これは私のコードのほんの一部です)