pygtk中按钮的定时禁用
我想显示一个带有“确定”按钮的对话框,该按钮在短时间内(可能 5 秒)被禁用。 在此期间,其他按钮仍需要响应。
I want to show a dialog box with an OK button that is disabled for a short period of time (perhaps 5 seconds). The other buttons would still need to be responsive during this time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为此,您需要 GTK+ 超时。 首先让按钮被禁用。 超时将调用一个函数来启用按钮。
请注意,出于可用性原因,用户应该可以看到计时器正在运行。 您可以通过倒计时来完成此操作,例如“确定(5)”、“确定(4)”等,直到启用该按钮。
看这里:
http://graphics.sci.ubu。 ac.th/api/pygtk/tutorials/pygtk2tutorial/ch-TimeoutsIOAndIdleFunctions.html
这个想法是将超时设置为 1 秒(1000 毫秒)。 每次调用回调时,您都会更改按钮标签并返回 TRUE。 当您的回调第五次被调用时,您启用它并返回 FALSE。 这将消除超时。
You need a GTK+ timeout for that. First let the button be disabled. The timeout will call a function to enable the button.
Please not that for usability reasons, it should be visible for the user that a timer is running. You can do this by counting down, like "OK (5)", "Ok (4)" etc. until you enable the button.
See here:
http://graphics.sci.ubu.ac.th/api/pygtk/tutorials/pygtk2tutorial/ch-TimeoutsIOAndIdleFunctions.html
The idea is to set the timeout to 1 second (1000 ms). Everytime the callback is called you change the button label and return TRUE. When your callback is called the 5th time, you enable it and return FALSE. This will remove the timeout.