是否可以将GTK +与C++一起使用?

pho*_*cao 3 c c++ gtk gtkmm

我正在为C++选择一个GUI工具包来学习.我已经在网上进行了一些搜索,大多数人建议使用GTK + for GTK +.尽管如此,我已经看到一些使用GTK +制作的C++应用程序.

因此,我只想知道具体原因:
1.为什么GTKmm是C++的首选?
2. 如果我将GTK +用于C++应用程序而不是GTKmm,我将面临哪些限制

Mat*_*att 17

  • gtkmm允许您使用常规C++技术编写代码,例如封装,派生和多态.作为一名C++程序员,您可能已经意识到这会导致更清晰,更有条理的代码.
  • gtkmm更加类型安全,因此编译器可以检测到在运行时只能在使用C时检测到的错误.特定类型的使用也使API更加清晰,因为只要查看方法就可以看到应该使用哪些类型宣言.
  • 继承可用于派生新的小部件.在GTK + C代码中推导新的小部件是如此复杂和容易出错,几乎没有C编码器这样做.作为C++开发人员,您知道派生是一种必不可少的面向对象技术.
  • 可以使用成员实例,简化内存管理.所有GTK + C小部件都通过使用指针来处理.作为C++编码器,您知道应尽可能避免使用指针.
  • 更少的代码.GTK + C对象模型使用前缀函数名称和转换宏.例如:gtk_button_set_text(GTK_BUTTON(button), "sometext");gtkmm C++代码更短更清晰.例如:button.set_text("sometext");
  • 没有必要担心GTK +不一致的引用计数策略.

资料来源:http://live.gnome.org/gtkmm/FAQ