gtkmm用于桌面应用程序

时间:2013-03-25 16:38:25

标签: c++ gtkmm

对某些桌面客户端应用程序使用gtkmm gui toolkit是个好主意吗?

此工具包是否稳定,是否有足够的在线文档?

3 个答案:

答案 0 :(得分:3)

我使用gtkmm编写专业应用程序,是的,你可以将它用于真实世界的软件开发。

但是我也使用了C / GTK +和C ++ / Qt,我的意见是使用Gtkmm你觉得原来的工具包本来是用在C语言中并且移植到C ++是好的但是在很多情况下你觉得可以更好地使用C ++功能。

比较:

如果您必须在Gtk和Gtkmm之间进行选择,请选择Gtkmm,即使您可能发现自己陷入了一些记录不充分或支持的功能。最终你总是设法找到一个解决方案(你可以查看源代码),c ++比c更好。

如果您必须在Gtkmm和Qt之间进行选择,请选择Qt。两者之间存在巨大差距。不仅在工具包本身,而且在文档和编写应用程序时所需的所有其他类中。

答案 1 :(得分:2)

两个月前我用gtkmm开始了。我实际上移植了一个tcl / tk应用程序,让我感觉很困难。我找到的唯一有用的文档是https://developer.gnome.org/gtkmm-tutorial/3.4/

但是手册中描述的很多东西都不起作用!我实际上在覆盖信号处理程序时会遇到麻烦,而信号处理程序应该可以工作但却没有。也许你会看看gtkmm-list@gnome.org,看看你可能会遇到什么样的问题: - )

从doxygen输入派生的文档对我来说似乎没用,因为函数大部分都没有描述,参数名称或者我常常不太清楚。

与tcl / tk相比,界面看起来不一致。有时参数必须由文本提供,有时必须由指针提供,有时由本机值本身提供。特别是基于字符串的配置菜单非常“神秘”。将参数作为文本的需要是非常不方便的!您必须将带有ostrstream的参数转换为文本,并有时将参数从文本解析为实际值。

我决定给gtk +一个机会就是存在c ++接口。我认为在编译时获取错误会有所帮助,而不是像运行tcl / tk一样运行应用程序。但这并不总是与gtkmm一致。使用gtkmm,您还可以遇到运行时错误,因为所有字符串参数都将在运行时解析!这使事情容易出错!

也许我会重新开始并给Qt一个机会。但是第一个观点显示,这似乎并不是更好: - )

写一个gui应用程序仍然是一件非常烦人的工作!

答案 2 :(得分:1)

gtkmm是官方支持的GTK绑定(gtk.org/language-bindings.php)。

“inkscape”和“ardor”是用gtkmm

编写的着名应用程序

官方GNOME绑定的绑定遵循GNOME发布计划,该计划保证API稳定性和基于时间的发布。

如果您想用C编写应用程序,请使用GTK +(和GLib)。

您可以在http://www.gtkmm.org/https://developer.gnome.org/gtkmm-tutorial/)找到指向文档的链接。

使用Glade(以及即PyGTK),您可以快速构建应用程序原型。 使用Glade构建GUI非常简单,生成的UI是一个xml文件,不受编程语言的约束。