【发布时间】:2013-11-06 15:08:47
【问题描述】:
我正在寻找一个可以从纯 C 语言使用的 GUI 工具包,它至少可以在 Linux 上运行,并且不会强迫我使用它自己的事件循环——我想将 libev 用于主循环并让它通知X 事件发生时的工具包库。
我还没有找到类似的东西——我真的需要修补工具包库才能得到我想要的吗?
【问题讨论】:
-
我在自己的 epoll 事件循环中使用了 ncurses —— 我只调用 ncurses 处理程序,只有一次,一旦 stdin 可供读取。
-
@KerrekSB 是的,我考虑过类似的事情......但是,我可能还必须至少修补工具包的超时逻辑。
-
即使一个 gui 工具包连接到它自己的事件循环,你也不应该设置任何 connecting 属性,例如。我使用的是一个事件循环,但只能通过我在 draw 控件时设置的属性。因此,我可以完全避免使用事件循环,并选择以编程方式设置任何属性,因为我需要反映我的应用程序的状态。
-
出于好奇,你为什么会有这样的需求?
-
“在额外的线程和上下文切换上浪费资源” — 您要避免浪费的主要资源是 您的时间。采取相应的行动。
标签: c user-interface x11 toolkit event-loop