- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码:
def on_click(event=None):
c.unbind('<Button-1>')
c.config(background="red")
print ("You clicked the square")
time.sleep(delay)
c.config(background="green")
c.bind('<Button-1>', on_click)
root.update()
root = tk.Tk()
c = tk.Canvas(root, width=200, height=200, background="green")
c.pack()
c.bind('<Button-1>', on_click)
root.mainloop()
当我在 Canvas 为红色(未绑定(bind))时单击 Canvas 时,它会在 sleep 完成时打印“您单击了方 block ”。
我已经尝试过这里的方法:Deleting and changing a tkinter event binding但没有得到任何结果,因为我仍然可以单击该方 block 并在其为红色时从中获取打印
最佳答案
您正在调用unbind
,然后卡住应用程序。当它被卡住时,事件会继续添加到队列中而不被处理。 sleep 完成后,您将在队列有机会处理事件之前立即重新建立绑定(bind)。当事件被处理时,绑定(bind)已经被重新建立。
作为一般经验法则,您永远不应该在 GUI 程序中调用 sleep
,这就是一个很好的说明。
如果您想短时间取消绑定(bind)然后重置,请先取消绑定(bind),然后在指定时间段后使用 after
重置绑定(bind)。
def on_click(event=None):
c.unbind('<Button-1>')
c.config(background="red")
c.after(delay, enable_binding)
def enable_binding():
c.config(background="green")
c.bind('<Button-1>', on_click)
当您单击时,您的函数将被调用,您可以更改颜色并取消绑定(bind)事件。 然后,事件循环有机会处理颜色变化并处理其他事件。一旦时间过去,您的函数将被调用,事件将被重新绑定(bind)。
关于python - tkinter unbind 似乎没有取消绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52192244/
我正在创建一个网络应用程序,并且无论如何都会进行自己的测试来确认,但想知道是否有人在绑定(bind)/取消绑定(bind)等时有过这方面的经验。例如,我想首先销毁当前内容容器的事件和 child 的事
使用后如何取消“解除绑定(bind)”?我需要重新启用点击事件。下面是我的函数。 1.该功能是禁用打印链接 function edit(){ $("#ENQUIRY_VIEWMETER a.print
这是表单声明: 这是我的 JavaScript: $("#form1").attr("action", "/mis_apps/scholarships-syste'+'m/in
我正在构建我的第一个联系表单。 在没有错误消息的情况下,我正在尝试解除绑定(bind)我的函数。 代码如下 - 无论出于何种原因,我不断在我的开发控制台中收到以下错误消息: Uncaught Type
我有一个按钮可以触发输入文件并打开文件浏览器来选择文件。选择文件后,我将运行某些操作。 问题: 它在 Chrome 上运行良好,但 Microsoft Edge 的行为不一致。根据我的经验,前几次尝试
1) 在进程结束之前,套接字似乎没有从 LocalEndPoint 解除绑定(bind)。 2) 我已经尝试了另一个问题的解决方案,也试过等待一分钟 - 无济于事。 3) 目前我已经尝试了以下方法来摆
我有一个使用 Butterknife 的应用程序,最近我发现了一个 fragment ,在该 fragment 的 onDestroyView() 中调用 unbinder.unbind() 失败。我
我在用 $(document).on('click', '.mySelector', function () { //do something }); 将事件委托(delegate)给按钮。接
我正在运行以下命令: $("#myelement").unbind('click'); 当我在 VS.NET 2010 监 window 口中查看 $("#myelement")[0].onclick
这样做有风险吗?示例: if (someCondition) { angular.element($window).bind('scroll', myHandler); } $scope.$on
我有这个代码: def on_click(event=None): c.unbind('') c.config(background="red") print ("You cl
好的,这个问题已经解决了多次,但我的问题有点复杂。以下是我的 AJAX,它将文本字段和图像作为输入并将字段和文件路径提交到数据库。 $(function () { $('form#data')
如果条件为真,我想在所有链接上使用 unbind(),然后在 1.5 秒后再次绑定(bind)链接。我已经尝试过,但它不起作用: if ( /*some condition*/) {
我想要 unbind('click' 的快捷符号。我想要 .unclick 被 unbind('click'. 最佳答案 我想你想要这样的东西: $.fn['unclick'] = function(
我有一个响应式 Javascript 文件,它可以成功地解除绑定(bind)基本 jQuery 函数。 当浏览器设置为平板电脑时,导航将根据点击进行切换,因此我禁用到任何具有 ul 的 li 元素的链
我有两个链接,如果用户单击其中一个,则与该链接相关的文章将以动画形式显示。如果用户在单击第一个链接之后且在上一个动画完成之前单击另一个链接,则它们的动画会发生冲突。我想使用 .bind() 和 .un
我说的是: .unbind().click(function () { // Do something } 这对我来说看起来有点狡猾,但它是有道理的:开发人员希望首先删除绑定(bind)到该元
我使用 jQuery .bind() 和 .unbind() 来处理滚动时的动画事件。 $(window).bind('scroll', function(){ ... code ... if
我曾经遇到过一种情况,我不得不重写我的某个派生类中的事件处理程序。不幸的是,我不能只是“覆盖”它,因为实现逻辑严格绑定(bind)到基类中的特定方法实现。 我的自然想法是首先从事件中“解除绑定(bin
让我们考虑 Property 接口(interface)的两种方法: Property#unbind() Property#unbindBidirectional(Property other) 正如
我是一名优秀的程序员,十分优秀!