我开发了一个使用 C++/wxWidgets 编写的应用程序,它具有用于脚本和插件的嵌入式 .NET 运行时。
我想将 gtk# 用于插件 GUI,但是由于尚未启动 gtk 事件循环,GUI 没有响应(这是 Windows 上的 wxWidgets,因此它不使用 gtk 作为后端)。
这可以通过在 wxWidgets 空闲处理期间泵送事件循环来解决:
public void OnWxWidgetsIdle()
{
while(Gtk.Application.EventsPending())
Gtk.Application.RunIteration();
}
但是,这似乎不会触发 gtk# 空闲事件,因此依赖于空闲事件的 GUI 小部件(例如文本框中的闪烁光标)不会正确更新。
有谁知道我如何强制发送 gtk# 空闲事件,或任何其他解决此问题的替代方案?
亲切的问候,
安德鲁·沃德。