适用于Windows的良好C ++ GUI库
我正在为C ++寻找一个好的Windows GUI库。 我认为理想的特征应该是:
请为候选人建议您的想法。 每个答案请一个图书馆。
我认为你写的Qt太快了; 它并没有太多地使用标准库,但这与过时而不是有着不同的优先级有关。 QT容器使用迭代器,模板算法等,但具有不同的迭代器模型; Qt迭代器指向元素而不是它们。 这使得前向和反向遍历是对称的,并且在遍历期间清除了用于插入和移除元素的一些边缘情况,尽管它效率稍低。 他们也提供STL风格的迭代器。 这是GUI库IMO的有效选择; 集装箱的性能不太可能成为关键因素。
至于预处理器(moc),可以把它看作是知道如何读取C ++头文件而不需要自己的语言的IDL编译器。 它不会预处理直接编译的代码。 它只是生成一个额外的cpp文件,其中包含信号/槽回调的封送处理,当它们跨越线程边界并需要同步时可能会相当混乱。
Qt是免费的,如果你可以释放你的源代码(即使是商业用途;有多少内部工具真的需要专有),并且如果你不能不合理地定价(没有单位版税或任何特别讨厌的东西)
如果你正在寻找一个现代的C ++ GUI库,那么来自Adobe Source Library(ASL)的Adam&Eve是正确的(它主要依赖于Boost库)。
我真正喜欢的是,布局的设计与代码完全分离。 布局定义可以位于外部文件中,以便用户可以在不重新编译程序的情况下更改布局。
来自该网站的示例:
layout clipping_path
{
view dialog(name: "Clipping Path")
{
column(child_horizontal: align_fill)
{
popup(name: "Path:", bind: @path, items:
[
{ name: "None", value: empty },
{ name: "Path 1", value: 1 },
{ name: "Path 2", value: 2 }
]);
edit_number(name: "Flatness:", digits: 9, bind: @flatness);
}
button(name: "OK", default: true, bind: @result);
}
}
这将产生:
除此之外,ASL还有其他一些有用的实用程序类。
编辑:但它(还)没有一个表单设计师。
WTL是由ATL团队的Nenad Stefanovic创建的现代GUI框架。 它重量轻,但仍支持操作系统的所有现代功能。
Windows模板库
Windows模板库(WTL)是用于开发Windows应用程序和UI组件的C ++库。 它扩展了ATL(活动模板库)并为控件,对话框,框架窗口,GDI对象等提供了一组类。
非官方文件存在于代码项目中。
链接地址: http://www.djcxy.com/p/23309.html