一部のデスクトップクライアントアプリケーションにgtkmmguiツールキットを使用するのは良い考えですか?
このツールキットは安定しており、オンラインで十分なドキュメントがありますか?
私はgtkmmを使ってプロのアプリケーションを作成しましたが、実際のソフトウェア開発にも使用できます。
しかし、私はC /GTK+とC++/ Qtも使用しました。私の意見では、Gtkmmを使用すると、元のツールキットがCで使用されることを意図しており、C ++への移植は問題ないように感じますが、多くの場合、C++機能が可能であると感じます。よりよく使用されています。
比較のために:
GtkとGtkmmのどちらかを選択する必要がある場合は、十分に文書化されていない、またはサポートされていない機能で立ち往生していることに気付くかもしれませんが、Gtkmmを選択してください。最終的には、常に解決策を見つけることができ(ソースコードを確認できます)、c++はcよりもはるかに優れています。
GtkmmとQtのどちらかを選択する必要がある場合は、Qtを選択してください。2つの間に大きなギャップがあります。ツールキット自体だけでなく、ドキュメントや、アプリケーションを作成するときに必要な他のすべてのクラスにも含まれています。
私は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アプリケーションを作成することは、依然として本当に厄介な仕事です。
gtkmmは、GTK(gtk.org/language-bindings.php)の公式にサポートされているバインディングです。
「inkscape」と「ardour」はgtkmmで書かれた注目すべきアプリケーションです
公式のGNOMEバインディングであるバインディングは、APIの安定性と時間ベースのリリースを保証するGNOMEリリーススケジュールに従います。
アプリケーションをCで記述したい場合は、GTK +(およびGLib)を使用してください。
ドキュメントへのリンクはhttp://www.gtkmm.org/(https://developer.gnome.org/gtkmm-tutorial/)にあります。
Glade (つまりPyGTK)を使用すると、アプリケーションのラピッドプロトタイピングを行うことができます。Gladeを使用してGUIを構築するのは簡単で、結果のUIはプログラミング言語にバインドされていないxmlファイルになります。