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()
我想做一個功能,而mousebutton-1被按下zoominbutton反覆調用。這應該是通過輪詢來實現的。點擊按鈕時,應調用輪詢功能。投票應持續運行,直到mousebutton-1被釋放。但問題是,按下按鈕時沒有任何反應。蟒蛇tkinter按鈕綁定
編輯指出的錯誤。但是由於窗口本身不再顯示,並且代碼由於「self.ZOOMIN.after(300,self.poll())」這一行而進入無限循環,所以代碼中仍然存在一些問題。 (這只是我的代碼的一部分)
如果您計劃編寫(並共享)很多python代碼,您可能需要考慮閱讀[PEP 8](http://www.python.org/dev/peps/pep-0008/)。它建議爲方法使用'names_with_underscores'併爲類預留'CamelCase'(等等)。 – mgilson