支持从另一个线程创建GUI的GUI库

时间:2011-07-06 17:00:39

标签: multithreading user-interface plugins

我正在为应用程序创建一个插件,并且为了向用户请求数据,我需要创建一个线程,因为GUI应该保持响应,并且应用程序可能长时间不调用我的任何功能。

问题是我认识的大多数GUI库(wxWidgets,Qt)似乎不支持从另一个线程创建GUI。有时会有一些技巧来完成它,但它不是便携式也不是保证。

我正在寻找一个正式支持从另一个线程启动GUI的GUI库。该项目唯一的改进是对Windows,Linux和Mac的可移植性以及暴露C接口。轻量化的奖励点。

1 个答案:

答案 0 :(得分:0)

几乎所有的GUI库都依赖于底层操作系统的API。当您在需求中使用“跨平台”时,这会变得更加严格,因为您现在必须依赖3个独立平台的支持。

因此,我怀疑你会发现每个(合理的)GUI库都具有线程关联性。

话虽这么说,几乎每个库都支持从其他线程创建工作,并且让后台线程在主UI线程上UI处于良好和响应状态时进行“处理”。我建议重新设计你的设计,让你的操作在后台线程上运行,而不是你的UI。