回答
我兩個月前開始使用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