1read 100read
2012年6月プログラム185: Gtkプログラミング on Windows!!! (328) TOP カテ一覧 スレ一覧 2ch元 削除依頼
C++ に未来はあるか??? そんなものはない!!! (213)
Java ネットワークプログラミング 【教えて!】 (607)
【至急】助けてください。 (238)
C言語を勉強しあおう (252)
コーディングルールの怪しい伝説 (224)
新C言語を作ろう (862)

Gtkプログラミング on Windows!!!


1 :06/05/08 〜 最終レス :12/06/12
マルチプラットフォームなGUIライブラリでプログラミング!
利点
・C、C++、Python、Ruby, etc...いろんな言語にも対応してるぞ!
・Linuxに移植するのも簡単だぞ!
・Gladeで楽々GUIデザイン!
・自由!RMSマンセー!
・でも、ライセンスはLGPLだから動的リンクにすればアプリのソースコードを公開する必要は無いぞ!
GtkライブラリのバイナリはGlade込みのやつがオススメだぞ。
公式:http://www.gtk.org/
Windowsバイナリ:http://gladewin32.sourceforge.net/modules/news/
gtkmm: C++インターフェイスだ!
公式:http://www.gtkmm.org/
Windowsバイナリ:http://www.pcpm.ucl.ac.be/~gustin/win32_ports/gtkmm.html

2 :
2?

3 :
リファレンスマニュアル
http://www.gnome.gr.jp/docs/gtk+-1.2.x-refs/gtk/

4 :
もっさりなんだよね。glibは好きなんだけどね・・・。gtkはね・・・。

5 :
落ちまくるぞ

6 :
Qtと比較してどちらがプログラム組みやすい?

7 :
>>6
Swing

8 :
>>7
ナイスジョークw

9 :
Slypheed を見る限り、イマイチな感じ。

10 :
>>3
古い。まだ完全な日本語訳じゃないけど一応、最新版。
http://mikeforce.homelinux.org/documents/glib-2.8.x-refs/glib/gtk/
>>6
Qtは非常にしっかりしたドキュメントがあるし、qmakeっていう自動化ツールもあるんだけど、C++を拡張してるから
変なメタコンパイルをせねばならん。それにライブラリのバイナリを公式は配布してないから、自前でコンパイルしないといけない。
これがえれー時間がかかるんだ。

11 :
Squeakでいいや。

12 :
とりあえずC++バインドのチュートリアル(英語)
http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/index.html

13 :
Windowsのスキンもなーんか野暮ったいんだよね。おのおののパーツは
Windowsそのものなんだけど、GUIを組み上げてみるとなんかダサいんだよ。

14 :
>>10
> それにライブラリのバイナリを公式は配布してないから、自前でコンパイルしないといけない。
> これがえれー時間がかかるんだ。
えー? Windowsの話でしょ?コンパイル済みでダウンロードできますがな。

15 :
保守

16 :
GDK使って遊んでるけど扱いがややこしいな…

17 :
Win用バイナリのやつはまだcairoじゃないんだね・・・

18 :
正直、LinuxでGUIプログラムしたい俺には敷居が高すぎて挫折したので
このスレには頑張ってほしい。

19 :
そう?Qtは簡単だよ。いろいろそろってるし。おっと、Gtkスレで言うことじゃないな。

20 :
>>18
gladeとか使うとなんとかいけるよ。
起動部分、GUI部分、他の処理部分とかってスレッド分けて、各スレッド毎にpipe用意して
スレッド間をpipeで通信とかってやってた。

21 :
>>20
あ、Linuxの場合ね

22 :
厶板でやれ

23 :
Linux板だと思った
ごめん

24 :
gladewin32インストールして、簡単なメニューとウインドウが開く
プログラム書いてみたのですが、
私の古いパソコン
Pen4-1.7GHz
GeForce2 MX400
Visual Studio .Net 2003のVCコンパイラ
だと、メニューをクリックして、プルダウンメニューが開くまで
1秒くらいかかります。
その間は、メニューに何も文字が描画されません。1秒くらいすると
文字が描画されます。
そういうもんですか?それとも何か私のコーディングが悪いのかな?

25 :
>24 の補足です。
メニューの表示は遅いですが、ウインドウに表示しているOpenGLの
描画は、まあ、普通の速さです。なので、メニューの表示だけが遅いです。

26 :
初心者用日本語サイトが皆無だー

27 :
>>26
まず英語学習者のための初心者用日本語サイトを探せ

28 :
WindowsプログラマのためのLinuxプログラミング 〜GTK+-2.0とWindowsAPIの比較〜
http://gtklab.sourceforge.jp/gtkwin/index.html

29 :
からあげウマウマ

30 :
ドザにGtk触って欲しくない(ボソッ

31 :
Windowsでgtkとか標準以外のライブラリを使うとアプリ毎に
別々にDLLをインストールするからメモリ消費が半端ない。
いろんなバージョンがある上にVisualStudio6と2000x系は
混ぜられないからもういっそスタティックリンクにしてくれと。

32 :
gktmmのインストール方法を教えてください。
環境:WindowsXP + Visual C++ 2005 EE

33 :
しかしそれを言うならLinuxだって依存関係でがんじがらめではないだろうか・・・

34 :
>>32
(ttp://gladewin32.sourceforge.netからgtkを落としてきた前提で)
ttp://www.mapr.ucl.ac.be/~gustin/win32_ports/
から落としてくる

35 :
GtkTreeView複雑すぎ。マジ糞。

36 :
複雑な脳味噌にバージョンアップしてくださいです。

37 :
Gtk+はAPIは2.4系のままでどんどん中身がアップグレードしていくからなあ。まあエンバグするときもあるけど。

38 :
LazarusでPascalなgtk+というのもあるな
まだ1.2しかつかえんけど

39 :
gtkmmって意外とあんまり使われてないんだな。GNOME標準アプリはCで書かれてるものが多いし。
標準でいれてしまえばいいのに。

40 :
bmpxなんてgtkmmなんだな。しかもboostなんて使ってるし。
もっとも最近のlinuxのプレイヤは
audaciousになりつつあるな。

41 :
Gtk#を使えば猿でもプログラムできるぞ

42 :
MACでも使えますか?

43 :
.NETに魂売るくらいならJava/SWT使うわ

44 :
Linux板のKNOPPIXスレから移ってきました。
現在
ttp://ftp.ieunet.ie/mirrors/ftp.gimp.org/pub/gimp/v2.3/
で手に入れたgimp-2.3.9のソースコードを見てGIMPの画像のデータ構造を調べています。
gimp_get_type()という関数の宣言はあるのですが定義が見つからず困っております。
もしかしたらmakeできないのでは?と思ってしまいました。
以前、cygwin+mingwn+gcc相談スレでもKNOPPIXスレでもmakeについて聞いたのですが
よくわかりませんでした。
cygwin+mingwn+gcc相談スレでこちらを紹介されてきました。
makeの方法もしくはgimpのソースの解説など教えていただきたいです。
よろしくお願いします。
ちなみにKNOPPIXでは./configureのxmlのところでエラーになってしまいました。
cygwinではconfigure: error: Test for GTK+ failed. See the file 'INSTALL' for help.と出ました。
INSTALLも読んでGTK+2.9.4(2.8.x以降)をmake installしようとしたのですが、./configureでto avoid the need to call pkg-config.とエラーになりました。

45 :
GTKでポトペタ開発できますか?

46 :
>>44
> gimp_get_type()という関数の宣言はあるのですが定義が見つからず困っております。
grepしても見つからない?
> makeの方法もしくはgimpのソースの解説など教えていただきたいです。
wikiは読んだ?
http://wiki.gimp.org/gimp/FrontPage#head-fcb3541b628624615ca28800e73e803f210bdab7
> configure: error: Test for GTK+ failed. See the file 'INSTALL' for help.と
configureがgtkを見つけられなかったかバージョンが古いんじゃないかな。
>>45
>>1

47 :
>>43
Java使うくらいならDにする・・・

48 :
GTKってIDE(ダイアログ作るやつ)があるんですか?

49 :
gladeがGUIビルダ
IDEならglade内蔵のAnjuta

50 :
ググッたけど、gladeってLinux用でWin32版は無いの?????

51 :
>>49
激しく勘違いしてるぞ
>>50
gladewin32.sourceforge.net

52 :
>> gimp_get_type()という関数の宣言はあるのですが定義が見つからず困っております。
>grepしても見つからない?
K2のテキストエディタでgrepしたんですが見つかりませんでした。宣言だけ。
>wikiは読んだ?
拝見しました。HowToCompileGimpにWindows版があったので読んでみます。
>configureがgtkを見つけられなかったかバージョンが古いんじゃないかな。
gtkのパスを環境変数などに設定しなければいけないのでしょうか。またCygwinのgtkのバージョン確認の方法がわかりません。

53 :
52のは>>46さんへです。

54 :
サンクス>>51
ダウソ&起動してみました。
何か動き変じゃない?

gimpみたい(ry

55 :
>>54
変の部分がわからないけど、
他のポトペタと同レベルと思ったら大間違い。
もっさりしてるのは、win上のgtkはそんなもん。

56 :
>>55
え、gtkだっけ?

57 :
HowToCompileGimp/MicrosoftWindowsでGetMingwBatch.batを起動するところまではいけたのですが
実行すると
unzip: cannot find either wget-complete-stable.zip or wget-complete-stable.zip.
zip.
とエラーが出て終了してしまいます。
ちなみにGetMingwBatchをそのまま利用すると内部で利用するftpがないらしく動かないので
ftp.info-zip.orgをsunsite.icm.edu.plにunz552xN.exeをunz552x3.exeに修正して動かしました。
また環境変数にTZをいれ1000000000000と設定しました。
unzipコマンドがwget-complete-stable.zipを認識していないようなのですがよくわかりません。
よろしくお願いします。

58 :
57で参照しているサイトは
ttp://wiki.gimp.org/gimp/HowToCompileGimp/MicrosoftWindows
です。

59 :
56です。
すまん、wxスレと勘違い(wxGlade)してた。

60 :
>>57-58
そこで躓いたかー。スクリプト読みながら手動インストールしたら?
http://www.mingw.org/MinGWiki/index.php/GettingStarted
http://gnuwin32.sourceforge.net/
http://www.activestate.com/products/activeperl/
http://www.ring.gr.jp/archives/X/gnome/binaries/win32/
http://www.gimp.org/~tml/gimp/win32/downloads.html

61 :
>>60さん
wgetのところは無理やりバッチをコメントにしてLhaca+でwget-complete-stable.zipを解凍し、wget.exeなどをPathの通ったところにおいてやったらうまく行きました。
でも結局MinGWとかActivePerlをインストールするだけのようです。すでに手動でやってました。
それで今困っているのはHowToCompileGimp/MicrosoftWindowsに書いてあるCompileGimp.shというファイルが存在しないことです。ネットのどこかに落ちてるのかと思ったのですが見つかりません。
もし何か情報があったらよろしくお願いします。

62 :
http://wiki.gimp.org/gimp/CompileGimpAtWindowsShellScript

63 :
何とかGetMingwBatchのバッチファイルは成功するようになり準備はできました。
>>62さんに教えられたシェルでコンパイルできるらしいのですがシェルスクリプトをMinGWで実行したところエラーが出ました。
Testing if unzip is available...
You did not install unzip! Please download unzip from
http://gnuwin32.sourceforge.net/packages/unzip.htm and extract the content of that package to
/mingw/. Try to execute this script than again.
unzipがインストールされていないようです。示されたURLからSetupをダウンロードして実行したあとも試したのですが同じでした。
さっきのバッチファイルで全てインストールしたと思っていたのですがうまくいってなかったようです。
C:\MinGW\bin;にもunzip.exeがあったのでパスを通してやったのですがだめでした。
unzipはどうすればインストールできるのでしょうか。
よろしくお願いします。

64 :
>>63
>>60
よく覚えてないんだけど、 which は /bin, /usr/bin, /usr/local/bin から探すんじゃなかったっけ。

65 :
unzip.exeはMinGW/binに入れたので、念のためもう一度今日CompileGimpAtWindowsShell.shをMinGWで実行したところunzipのところはクリアしました。
再起動して設定が変わったからなのかもしれませんがよくわかりません。
その後いろいろなライブラリをシェルスクリプトが入れていきGimpのビルドが始まりました。
しかし、checking for GLIBのところでconfigureがエラーを出して終了してしまいました。
checking for GLIB - version >= 2.8.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: Test for GLIB failed. See the file 'INSTALL' for help.
glibはglib-dev-2.6.6をシェルスクリプトが入れていたみたいですが失敗したのでしょうか。
またglibが正しくインストールされているか調べる方法もわかりません。
よろしくお願いします。

66 :
>>65
http://wiki.gimp.org/gimp/CompileGimpAtWindowsShellScript に書いてあるじゃん。

67 :
>>66さん
ありがとうございます。気づきませんでした。ばかですね。
早速読んでみます。英文なので時間がかかりますが。

68 :
configureでGLibで失敗することはおかげさまでなくなりました。
その後Pangoのバージョンが古いとかでftp://ftp.gtk.org/pub/gtk/v2.9/win32/から最新のPango(バイナリとdev版)を持ってきて、シェルスクリプトのpangoのところのバージョンも変更してgimp-env-tmpフォルダにさっきのzipを入れたら解決見事1.11.99が入りました。
これでPangoバージョン問題も解決かと思ったらさっきまでうまくいっていたGTK+のconfigureのcheckでエラーになりました。
checking for GTK+ - version >= 2.6.0... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: error: Test for GTK+ failed. See the file 'INSTALL' for help.
さっきのGLibと似たようなエラーだったので.profileにgtkのヘッダーやdllへのパスを追加してやってみたんですがダメでした。
どうすればよいかわかりません。
よろしくお願いします。

69 :
ちなみに.profileはmsysのホームディレクトリに置きました。
export PKG_CONFIG_PATH="/mingw/lib/pkgconfig"
export LD_LIBRARY_PATH="/mingw/lib:/mingw/include:/mingw/
include/glib-2.0/glib:/mingw/include/glib-2.0:/mingw/lib/
glib-2.0:mingw/lib/gtk-2.0/2.4.0/immodules:mingw/lib/gtk-2.0/
2.4.0/loaders:mingw/lib/gtk-2.0/include:mingw/include/gtk-2.0/
gdk:mingw/include/gtk-2.0/gdk-pixbuf:mingw/include/gtk-2.0/gtk"
export C_INCLUDE_PATH="/mingw/include"
export CFLAGS="-march=i386 -pipe -O3"
export CXXFLAGS="$CFLAGS"
export CPPFLAGS="-I/mingw/include/glib-2.0 -I/mingw/include/
glib-2.0/glib -I/mingw/include -I/mingw/lib -I/mingw/lib/
glib-2.0/ -I/mingw/lib/glib-2.0/include -I/mingw/lib/gtk-2.0/
include -I/mingw/include/gtk-2.0/gdk -I/mingw/include/gtk-2.0/
gdk-pixbuf -I/mingw/include/gtk-2.0/gtk"
export LDFLAGS="-L/mingw/lib -L/mingw/lib/glib-2.0/ -L/mingw/
lib/glib-2.0/include -L/mingw/include/glib-2.0 -L/mingw/include/
glib-2.0/glib -I/mingw/lib/gtk-2.0/include -I/mingw/include/
gtk-2.0/gdk -I/mingw/include/gtk-2.0/gdk-pixbuf -I/mingw/
include/gtk-2.0/gtk"
ダブルクオーテーションのところは改行を削除して一行でやりました。

70 :
>>68
config.log に configure のエラーメッセージが出ているハズだから
> checking for GTK+ - version >= 2.6.0... no
この結果が生じる理由を調べよう。
このノウハウは configure スクリプトを使うどんなフリーソフトウェアでも使える。

71 :
ありがとうございました。config.logをみたら.profileにmingw/include/gtk-2.0とmingw/include/pango-1.0とmingw/include/atk-1.0を追加し、glibも2.8.0から2.12.9にバージョンアップしたらうまく通りました。ありがとうございます。
今はPythonをインストールしてくれというエラーが出たのでその対応をしているところです。
今日はもう遅いし、明日は予定があるので明後日からまた再開したいと思います。
これからもよろしくお願いします。

72 :
Pythonはttp://www.python.jp/Zope/download/pythonjpdistよりWin32日本語版インストーラでインストールして
シェルスクリプトを実行したら出来ました。
次はPyGTKというPythonの拡張ライブラリをインストールするように言われたのですがこれはWin32用インストーラがなさそうなので大変ぽいです。
また明後日頑張ります。

73 :
Win32版はあくまで移植版だろ
本家のLinux版使えよ。

74 :
でも、俺のWin2000/LinuxのデュアルブートのPCでは、両方nVIDIAドライバー入れてるけど、
GIMPはWin2000の方が早いな。
つーか、Win版のGTK+2.10はネイティブアプリと遜色ないスピードになってる気がする。

75 :
X11はクラサバモデルな分どうしても遅いからな。
でもオプソ開発やるならなんでもapt-getで入る環境が断然便利だよ。
Winはパス管理もメンドイし

76 :
X11プロトコルを整理するミドルウェアみたいなのって今は流行らないのかな?
#別々の描画命令を纏めるとか、いろいろやってくれたと思うけど。

77 :
see xcb.
2001年からやってて、ようやくX.Orgに入った。atomを単純に500個作るだけなら25倍早いんだと。

78 :
ほほぉ、しらなんだ。

79 :
http://wiki.gimp.org/gimp/CompileGimpAtWindowsShellScriptのシェルスクリプトはMinGWで全部正常に通るようになりました(warningが少し出てましたが)。
で、Makefileもいっぱい作られてさっそくgimpをmakeしてみたのですが、エラーが出てしまいました。
Making all in po
make[2]: Entering directory `/home/h-hiroshi/gimp/gimp-2.3.5/po'
make[2]: *** No rule to make target `all'. Stop.
make[2]: Leaving directory `/home/h-hiroshi/gimp/gimp-2.3.5/po'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/h-hiroshi/gimp/gimp-2.3.5'
make: *** [all] Error 2
makefileがどうもpoディレクトリに出来ていないようです(Makefile.inはあります)。
シェルスクリプトの最後でやったconfigureが失敗しているのでしょうか。
よろしくお願いします。

80 :
gimpで./configureをもう一度直接したらpoにMakefileが作られました。

81 :
いちいち報告するな。てめえのブログにでも描いてろ

82 :
皆様のおかげでGimp-2.3をMinGWでビルドすることに成功しました。
てめえのブログにも書きますが、是非お礼をしたくお邪魔しました。ありがとうございました。

83 :
「てめえの」ブログのURI希望

84 :
複数のウィンドウを持つようなアプリでフォーカスされているウィンドウのウェジットを取得する方法はありますか?

85 :
HWND hWnd = GetFocus();
のことですか?

86 :
>>84
こんなのはどうよ。
GtkWidget *get_focus_window(void)
{
GList *list, *tmp;
GtkWidget *focus_window = NULL;
list = gtk_window_list_toplevels();
for (tmp = list; tmp; tmp = g_list_next(tmp)) {
GtkWidget *window = GTK_WIDGET(list->data);
if (gtk_window_is_active(GTK_WINDOW(window))) {
focus_window = window;
break;
}
}
g_list_free(list);
return focus_window;
}

87 :
>>7
swingからc++のプログラムって呼べる?
c++のプログラムとwin32 linuxどっちでも動くように組み合わせたい

88 :
>>7
>>6じゃないけど、jniインターフェースを使うとできるかも。
ttp://e-words.jp/w/JNI.html

89 :
もりあがりませんなあ

90 :
Foundations of GTK+ Development (Expert's Voice in Open Source)
http://www.amazon.co.jp/dp/1590597931/

91 :
gtkmmをVisual Studio.net 2003で使いたいのですが、
gtkmm_win32.txtに2005とMinGWにしか対応していないと書かれています。
いちおう2003でHello Worldをコンパイルして、コンパイルは通ったのですが、
実行すると「アプリケーションを正しく初期化できませんでした」というエラーが出て
実行できません。
2003でgtkmmは使えないんでしょうか?

92 :
今2005でもコンパイルしましたが、同じエラーが出ました。
エラーの内容は、
'gtkmmtest.exe': 'C:\GTK\bin\gtkmm-2.4d.dll' を読み込みました。シンボルが読み込まれました。
LDR: LdrpWalkImportDescriptor() failed to probe C:\GTK\bin\gtkmm-2.4d.dll for its manifest, ntstatus 0xc0150002
というものです。
gtkmmのDLLがマニフェストと合ってない?という意味でしょうか。
マニフェストの生成をいいえにしましたが、同じでした。
そもそもマニフェストの意味がよく分かりません。選挙ではよく聞きますが、ここでは関係ないですね・・。

93 :
gtkmm2.8にしたらエラー出なくなりました
2.10だとエラーが出るようです。

94 :
>>91
>gtkmmをVisual Studio.net 2003で使いたいのですが、
>gtkmm_win32.txtに2005とMinGWにしか対応していないと書かれています。
2003にバグがあって、昔はgtkmmを使えなかった。今のgtkmmはしらん。
2005は↑のバグを修正してある。
つーか、2003では修正しないから、2005を買ってね。というM$商法。

95 :
2005は無料でダウンロードできるし

96 :
質問です。
トップレベルウィンドウの子にGtkDrawingAreaを入れて、
このGtkDrawingAreaにkey_press_eventをgtk_signal_connectしたのですが、
キーボード入力を受け付けてくれません。
gtk_widget_set_eventsでマスクの設定はしてあります。
トップレベルのウィンドウだとキーボード入力を受け付けてくれます。
何がいけないんでしょうか?

97 :
GTK=GaTeKeeper=SONY

98 :
) Gtkmmのチュートリアルを訳してみた(半分ほど)
) ttp://anond.hatelabo.jp/20070711052631

99 :
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
初心者の作ったプログラムにありがちなこと (241)
英語は、訳さずに読もう with 英英辞典 (236)
Embarcadero RAD Studio/Delphi/C++Builder その2 (473)
C/C++の宿題片付けます 158代目 (572)
★お前らJavaはJNIで組もうぜ★ (823)
C#で仕事ある? (807)
--log9.info------------------
【音声ブログ】ケロログ4 (325)
ネタくさい闘病ブログについて語るスレpart3 (846)
※DB不要のblogスレ※ (376)
ブログパーツ・ブログアクセサリ (298)
マイぷれす (823)
ブログ炎上対策 (322)
片岡あづさ「あづさゴコロ♪」★1 (293)
[自治]糞スレ乱立がひどい ブログ板を閉鎖すべきか (249)
【鬼が出るか】ロリポブログ正式版【蛇が出るか】 (576)
痛いニュース(ノ∀`) 移転先 (241)
2chコピペブログについて 2 (454)
こんなブログ読みたい (207)
チラシの裏inブログ板 (223)
realogA (725)
中川翔子 VS 眞鍋かをり (342)
《寒い》コメント貰っちゃいました《痛い》 (668)
--log55.com------------------
暇な喪女話そう Part.126
最近(今更)知った衝撃の事実・喪女板97
一人暮らしの喪女いる?139部屋目
◆嫌いだけど人に言えない◆190
刀剣乱舞をする喪女 55
職場の愚痴を吐き捨てるスレ15
喪女の喪女による喪女のためのアンケートスレ 42題目
他人の不幸が大好物な喪★42