回答
我两个月前开始使用gtkmm。我实际上移植了一个tcl/tk应用程序,并且我感觉很难让这些东西运行。我发现的唯一有用的文档是https://developer.gnome.org/gtkmm-tutorial/3.4/
但手册中描述的许多事情都不起作用!我实际上遇到了麻烦,同时压倒应该工作但没有工作的信号处理程序。也许你会看看[email protected]找出你可能会遇到什么样的问题:-)
从doxygen输入派生的文档似乎对我无用,因为函数主要是没有描述和参数名称,或者往往不是很清楚。
与tcl/tk相比,界面看起来不一致。有时参数必须由文本提供,有时由指针提供,有时由原生值本身提供。尤其是菜单对于基于字符串的配置非常“神秘”。将参数作为文本的需求非常不方便!您必须将参数与ostrstream转换为文本,并有时将参数从文本解析为实际值。
我决定给gtk +一个机会就是存在C++接口。我认为这会有助于在编译时获得错误,而不是像使用tcl/tk一样运行应用程序。但这并不总是与gtkmm一样。使用gtkmm,您还可以运行时运行时错误,因为所有字符串参数都将在运行时解析!这使得事情容易出错!
也许我会重新开始给Qt一个机会。但第一个看法表明,这似乎不是更好:-)
写一个GUI应用程序仍然是一个非常讨厌的工作!
gtkmm是官方支持的GTK绑定(gtk.org/language-bindings.php)。
“Inkscape中”和“热情”是写在gtkmm的
是官方的GNOME绑定绑定遵循这保证了API的稳定性和基于时间的释放GNOME发布日程显着的应用程序。
如果你想在C中编写你的应用程序,请使用GTK +(和GLib)。
您可以在http://www.gtkmm.org/(https://developer.gnome.org/gtkmm-tutorial/)找到相关文档的链接。
随着Glade(和即PyGTK),你可以快速原型的应用程序。 使用Glade构建GUI非常简单,生成的UI是一个xml文件,不受编程语言的约束。
我用gtkmm编写专业应用程序,是的,你可以用它来进行真实世界的软件开发。但我也使用过C/GTK +和C++/Qt,我的观点是使用Gtkmm你有这样的感觉,即原始工具包是用于C语言的,并且移植到C++是可以的,但在很多情况下,你觉得C++功能可以被更好地使用。
对于比较:
如果你有GTK和gtkmm的之间做出选择去gtkmm的,即使你可能会发现自己被困在一些无据可查或支持功能。最终你总是设法找到一个解决方案(你可以检查源代码),而C++比c更好。
如果您必须在Gtkmm和Qt之间进行选择,请参阅Qt。两者之间有巨大的差距。不仅在工具包本身中,而且在编写应用程序时需要的文档和所有其他类中。
- 1. 带桌面应用程序的java桌面应用程序
- 2. GtkSourceView在gtkmm应用程序
- 3. JSF桌面应用程序
- 4. Facebook桌面应用程序
- 5. 桌面应用程序
- 6. Flash桌面应用程序
- 7. netbeans桌面应用程序
- 8. Python桌面应用程序
- 9. Eclipse桌面应用程序
- 10. 桌面应用程序
- 11. Java桌面应用程序?
- 12. Java桌面应用程序
- 13. HTML5桌面应用程序
- 14. Swing应用程序桌面
- 15. java桌面应用程序
- 16. 在桌面应用程序
- 17. .Net桌面应用程序
- 18. C#桌面应用程序?
- 19. 桌面应用程序使用桌面应用程序转换器的UWP
- 20. 如何将Windows桌面应用程序转换为Mac桌面应用程序?
- 21. 面向桌面应用程序的Facebook
- 22. 桌面应用程序的OAuth2流程
- 23. 选择用于桌面应用程序
- 24. 使用PHP与桌面应用程序
- 25. 用于桌面应用程序的JTree
- 26. 将WebKit用于桌面应用程序
- 27. 使用php的桌面应用程序
- 28. 桌面集成应用程序(桌面小工具)
- 29. 清理GTKmm应用程序的代码
- 30. 净桌面应用程序和ASP.NET Web应用程序
是的,这是一个官方支持的绑定(http://www.gtk.org/language-bindings.php)。 “inkscape”和“ardor”是用gtkmm 和Glade(也就是PyGTK)编写的着名应用程序,您可以快速构建原型应用程序。 – pce 2013-03-25 16:41:55