python - GLib.idle_add(function) 对不同的函数有不同的策略
问题描述
我有一个 GTK 窗口。事实证明,如果我一次安排多个重绘调用,没有任何延迟,从一个单独的线程,使用idle_add(window.queue_draw)
,只会执行一个调用。
如果我这样做idle_add(custom_function)
,对 custom_function 的每个预定调用都会运行。
虽然很明显这样做是为了优化,但我看不到文档 [1] 中是否/在哪里提到了这一点,我也想知道idle_add
.
[1] https://developer.gnome.org/pygobject/stable/glib-functions.html
解决方案
实际上并不是idle_add
那个行为。由 调用的widget-queue-draw-region的文档queue-redraw
指出,仅在主循环不再忙后才完成重绘。
推荐阅读
- react-native - 基于 PassportJS cookie 的身份验证与 React Native 应用程序集成
- python - Python 排序的 lambda 函数返回一个布尔值
- database - 如何为嵌套数据设计模式
- python - 比较两个列表中 str 之间的出现次数
- c - 带/不带功能的动态内存分配
- python - 排除列表中的元素
- javascript - 开玩笑:TypeError:axios.get.mockResolvedValue 不是函数
- c# - 在 Autofac C# Resolve 中,如何将参数传递给构造函数
- node.js - Firestore 导入数据文件未正确保存(ä、ö、ü、á 显示为符号)
- javascript - Firebase Scheduled Cloud Function 执行时如何获取时间?