上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
私は現在C言語、C++、JAVAをある程度打てる自信があるがC言語、C++に関してはコマンドラインプログラムしか打てない。

というそもそもGUIプログラムをどうやって作っているのかを知らない

そこで今回はC言語、C++、C#、Delphi、Ruby、Python、JAVAのコマンドラインプログラマー向けに、GUIプログラミングの環境を整えるところまでを説明したい


たとえばウィンドウズ2000以降なら、Win32 APIというものが存在し、これを使ってGUIを作ることができる。

が、


はっきりいってこれでGUIを作ることは難しすぎる。

そこで、このWin32 APIとプログラミング言語の間に入り、より簡単にGUIを作るためのライブラリが多数存在している。

つまりヘッダーでこのライブラリを読み込むことによって、コマンドラインプログラムからGUIプログラムへと発展させようという考え方である。


○Delphi,JAVA,C#
この3つに関してはすでに標準でGUIライブラリがついている。
JAVAはSwingが、C#は.net Frameworkが、Delphiは…知らん(^^;

しかしJAVAとC#はそもそもプログラムを動かすためにパソコンに、バージョンがあったJAVAや.net Frameworkのランタイムが必要だという欠点はある。

そう考えるとDelphiってランタイムがいらないしGUIで動くしすごいなぁと思ってるんだがなぜかあんまり表舞台に上がってこない…なんかかわいそうだなぁ

○C言語
C言語向けのGUIライブラリは主なものに

GTK

というものが存在している…らしい

詳しくわからないけど要するにこれを組み込むことでGUI環境ができる

○C++
C++には主に

ATL/WTL (MFCの拡張)
wxWidgets (旧名称はwxWindows、解説サイト)
Qt

などのGUIライブラリが用意されている。
特に上の二つは解説サイトも多くウェブページを頼りにすぐにでも使えそうだ。
Qtは昔からあるGUIライブラリらしく、洗練されてきている。

またwxWidgetはこちらにVisual C++でのインストール方法とか書いてるのでかなり使いやすいね。
ただ別のサイトでVisual C++ EE 2008になってがらりとインストール方法が変わったという噂もあるので要注意。

それにしてもこのサイトは言語環境をそろえるまでが分かりやすく書かれていていいな~

WTL/ATLはこちらに結構詳細が書かれてあり重宝する。
あとかってに参考。

またC++ .netというのも存在するらしく、これはC++を.net Frameworkに拡張したものだが、こちらに簡単なTipsが存在する

○Ruby
実を言うと今回はRuby、PythonのGUIプログラムの解説がメインなんだよな(^^;
Rubyには

Ruby/Tk
QtRuby
wxRuby
Apollo
WideStudio

などなど実に多数のGUIライブラリが存在する。
さすが日本で普及しているだけあって日本語の解説サイトも多数存在して便利である。

ここここここここでそのほかのGUIライブラリも解説しているし、Ruby/Tkに関してはここここでわかりやすく解説されている。

○Python
Python向けGUIライブラリは主なものに

wxPython (wxWidgetのPython版)
Python/Tkinter (Tcl/TkのPython版)
PyGTK (GTK+のPython版)
PyQt (QtのPython版)

wxPythonの解説サイトが多数存在するところを見るとwxPythonが主流なのだろうか?(、ここここここ

またここにもPythonのGUIライブラリが多数解説されている

あとPythonにはCPython(C言語ベース)とJython(JAVAベース)のまったく違う二つのPythonが存在するが、JythonだとJAVAのGUI環境が使えるらしく、ライブラリを読み込ませる必要がないらしい。

他にここでもいくつかの言語のGUIを解説しているので参考にしてほしい

08/6/25追記
C++×wxWidget情報
こちらこちらでC++のGUIを多数紹介
またWikiがかなり詳しい
2008.02.05 Tue l 雑記 l コメント (0) トラックバック (0) l top

コメント

コメントの投稿












トラックバック

トラックバック URL
http://omine3.blog119.fc2.com/tb.php/43-2d5d4efc
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。