Gtkプログラミング on Windows!!!
マルチプラットフォームな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 もっさりなんだよね。glibは好きなんだけどね・・・。gtkはね・・・。 >>3 古い。まだ完全な日本語訳じゃないけど一応、最新版。 http://mikeforce.homelinux.org/documents/glib-2.8.x-refs/glib/gtk/ >>6 Qtは非常にしっかりしたドキュメントがあるし、qmakeっていう自動化ツールもあるんだけど、C++を拡張してるから 変なメタコンパイルをせねばならん。それにライブラリのバイナリを公式は配布してないから、自前でコンパイルしないといけない。 これがえれー時間がかかるんだ。 Windowsのスキンもなーんか野暮ったいんだよね。おのおののパーツは Windowsそのものなんだけど、GUIを組み上げてみるとなんかダサいんだよ。 >>10 > それにライブラリのバイナリを公式は配布してないから、自前でコンパイルしないといけない。 > これがえれー時間がかかるんだ。 えー? Windowsの話でしょ?コンパイル済みでダウンロードできますがな。 Win用バイナリのやつはまだcairoじゃないんだね・・・ 正直、LinuxでGUIプログラムしたい俺には敷居が高すぎて挫折したので このスレには頑張ってほしい。 そう?Qtは簡単だよ。いろいろそろってるし。おっと、Gtkスレで言うことじゃないな。 >>18 gladeとか使うとなんとかいけるよ。 起動部分、GUI部分、他の処理部分とかってスレッド分けて、各スレッド毎にpipe用意して スレッド間をpipeで通信とかってやってた。 gladewin32インストールして、簡単なメニューとウインドウが開く プログラム書いてみたのですが、 私の古いパソコン Pen4-1.7GHz GeForce2 MX400 Visual Studio .Net 2003のVCコンパイラ だと、メニューをクリックして、プルダウンメニューが開くまで 1秒くらいかかります。 その間は、メニューに何も文字が描画されません。1秒くらいすると 文字が描画されます。 そういうもんですか?それとも何か私のコーディングが悪いのかな? >24 の補足です。 メニューの表示は遅いですが、ウインドウに表示しているOpenGLの 描画は、まあ、普通の速さです。なので、メニューの表示だけが遅いです。 >>26 まず英語学習者のための初心者用日本語サイトを探せ WindowsプログラマのためのLinuxプログラミング 〜GTK+-2.0とWindowsAPIの比較〜 http://gtklab.sourceforge.jp/gtkwin/index.html Windowsでgtkとか標準以外のライブラリを使うとアプリ毎に 別々にDLLをインストールするからメモリ消費が半端ない。 いろんなバージョンがある上にVisualStudio6と2000x系は 混ぜられないからもういっそスタティックリンクにしてくれと。 gktmmのインストール方法を教えてください。 環境:WindowsXP + Visual C++ 2005 EE しかしそれを言うならLinuxだって依存関係でがんじがらめではないだろうか・・・ >>32 (ttp://gladewin32.sourceforge.netからgtkを落としてきた前提で) ttp://www.mapr.ucl.ac.be/~gustin/win32_ports/ から落としてくる Gtk+はAPIは2.4系のままでどんどん中身がアップグレードしていくからなあ。まあエンバグするときもあるけど。 LazarusでPascalなgtk+というのもあるな まだ1.2しかつかえんけど gtkmmって意外とあんまり使われてないんだな。GNOME標準アプリはCで書かれてるものが多いし。 標準でいれてしまえばいいのに。 bmpxなんてgtkmmなんだな。しかもboostなんて使ってるし。 もっとも最近のlinuxのプレイヤは audaciousになりつつあるな。 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.とエラーになりました。 >>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 GTKってIDE(ダイアログ作るやつ)があるんですか? gladeがGUIビルダ IDEならglade内蔵のAnjuta ググッたけど、gladeってLinux用でWin32版は無いの????? >>49 激しく勘違いしてるぞ >>50 gladewin32.sourceforge.net >> gimp_get_type()という関数の宣言はあるのですが定義が見つからず困っております。 >grepしても見つからない? K2のテキストエディタでgrepしたんですが見つかりませんでした。宣言だけ。 >wikiは読んだ? 拝見しました。HowToCompileGimpにWindows版があったので読んでみます。 >configureがgtkを見つけられなかったかバージョンが古いんじゃないかな。 gtkのパスを環境変数などに設定しなければいけないのでしょうか。またCygwinのgtkのバージョン確認の方法がわかりません。 サンクス>>51 ダウソ&起動してみました。 何か動き変じゃない? gimpみたい(ry >>54 変の部分がわからないけど、 他のポトペタと同レベルと思ったら大間違い。 もっさりしてるのは、win上のgtkはそんなもん。 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を認識していないようなのですがよくわかりません。 よろしくお願いします。 57で参照しているサイトは ttp://wiki.gimp.org/gimp/HowToCompileGimp/MicrosoftWindows です。 56です。 すまん、wxスレと勘違い(wxGlade)してた。 >>60 さん wgetのところは無理やりバッチをコメントにしてLhaca+でwget-complete-stable.zipを解凍し、wget.exeなどをPathの通ったところにおいてやったらうまく行きました。 でも結局MinGWとかActivePerlをインストールするだけのようです。すでに手動でやってました。 それで今困っているのはHowToCompileGimp/MicrosoftWindowsに書いてあるCompileGimp.shというファイルが存在しないことです。ネットのどこかに落ちてるのかと思ったのですが見つかりません。 もし何か情報があったらよろしくお願いします。 何とか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はどうすればインストールできるのでしょうか。 よろしくお願いします。 >>63 >>60 よく覚えてないんだけど、 which は /bin, /usr/bin, /usr/local/bin から探すんじゃなかったっけ。 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 さん ありがとうございます。気づきませんでした。ばかですね。 早速読んでみます。英文なので時間がかかりますが。 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へのパスを追加してやってみたんですがダメでした。 どうすればよいかわかりません。 よろしくお願いします。 ちなみに.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" ダブルクオーテーションのところは改行を削除して一行でやりました。 >>68 config.log に configure のエラーメッセージが出ているハズだから > checking for GTK+ - version >= 2.6.0... no この結果が生じる理由を調べよう。 このノウハウは configure スクリプトを使うどんなフリーソフトウェアでも使える。 ありがとうございました。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をインストールしてくれというエラーが出たのでその対応をしているところです。 今日はもう遅いし、明日は予定があるので明後日からまた再開したいと思います。 これからもよろしくお願いします。 Pythonはttp://www.python.jp/Zope/download/pythonjpdistよりWin32日本語版インストーラでインストールして シェルスクリプトを実行したら出来ました。 次はPyGTKというPythonの拡張ライブラリをインストールするように言われたのですがこれはWin32用インストーラがなさそうなので大変ぽいです。 また明後日頑張ります。 Win32版はあくまで移植版だろ 本家のLinux版使えよ。 でも、俺のWin2000/LinuxのデュアルブートのPCでは、両方nVIDIAドライバー入れてるけど、 GIMPはWin2000の方が早いな。 つーか、Win版のGTK+2.10はネイティブアプリと遜色ないスピードになってる気がする。 X11はクラサバモデルな分どうしても遅いからな。 でもオプソ開発やるならなんでもapt-getで入る環境が断然便利だよ。 Winはパス管理もメンドイし X11プロトコルを整理するミドルウェアみたいなのって今は流行らないのかな? #別々の描画命令を纏めるとか、いろいろやってくれたと思うけど。 see xcb. 2001年からやってて、ようやくX.Orgに入った。atomを単純に500個作るだけなら25倍早いんだと。 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が失敗しているのでしょうか。 よろしくお願いします。 gimpで./configureをもう一度直接したらpoにMakefileが作られました。 皆様のおかげでGimp-2.3をMinGWでビルドすることに成功しました。 てめえのブログにも書きますが、是非お礼をしたくお邪魔しました。ありがとうございました。 複数のウィンドウを持つようなアプリでフォーカスされているウィンドウのウェジットを取得する方法はありますか? HWND hWnd = GetFocus(); のことですか? >>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; } >>7 swingからc++のプログラムって呼べる? c++のプログラムとwin32 linuxどっちでも動くように組み合わせたい >>7 >>6 じゃないけど、jniインターフェースを使うとできるかも。 ttp://e-words.jp/w/JNI.html Foundations of GTK+ Development (Expert's Voice in Open Source) http://www.amazon.co.jp/dp/1590597931/ gtkmmをVisual Studio.net 2003で使いたいのですが、 gtkmm_win32.txtに2005とMinGWにしか対応していないと書かれています。 いちおう2003でHello Worldをコンパイルして、コンパイルは通ったのですが、 実行すると「アプリケーションを正しく初期化できませんでした」というエラーが出て 実行できません。 2003でgtkmmは使えないんでしょうか? 今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がマニフェストと合ってない?という意味でしょうか。 マニフェストの生成をいいえにしましたが、同じでした。 そもそもマニフェストの意味がよく分かりません。選挙ではよく聞きますが、ここでは関係ないですね・・。 gtkmm2.8にしたらエラー出なくなりました 2.10だとエラーが出るようです。 >>91 >gtkmmをVisual Studio.net 2003で使いたいのですが、 >gtkmm_win32.txtに2005とMinGWにしか対応していないと書かれています。 2003にバグがあって、昔はgtkmmを使えなかった。今のgtkmmはしらん。 2005は↑のバグを修正してある。 つーか、2003では修正しないから、2005を買ってね。というM$商法。 質問です。 トップレベルウィンドウの子にGtkDrawingAreaを入れて、 このGtkDrawingAreaにkey_press_eventをgtk_signal_connectしたのですが、 キーボード入力を受け付けてくれません。 gtk_widget_set_eventsでマスクの設定はしてあります。 トップレベルのウィンドウだとキーボード入力を受け付けてくれます。 何がいけないんでしょうか? ) Gtkmmのチュートリアルを訳してみた(半分ほど) ) ttp://anond.hatelabo.jp/20070711052631 キタ━━━━━━(゚∀゚)━━━━━━ !!!!! gtkmmでファイルをストリーミングで読み込みたいんだけど、どうすれば出来る? それGtk関係なくね? LinuxならGstreamer使えば 文字の描画について質問です。 PangoLayoutに文字を入れて、gdk_draw_layoutで描画しているんですが、 半角文字(英字)のみ描画したときと、全角文字を混ぜて描画したときで 同じ位置をしていしているにもかかわらず、表示位置が異なってしまいます。 どうやったら同じ位置に表示できるんでしょうか。 gtkmmでタブレット使いたいんだけど、どうやるのでしょうか? >>103 解決策じゃないけど、これは仕方なかったような。 確かフォントの基底場所みたいなのが英文字と日本語文字で違ったからだったかな。 それでもフォントごとに基底場所を変えるような何かがあったような、ないような。 Glade 2.10 をダウンロードして簡単なサンプルダイアログを作って buildしてソースも出来ました Cygwin から ./autogen.sh を実行したら無事完了して Makefile が出来たのでそのまま make したのですが support.o(.text+0x326): In function `create_pixbuf': /cygdrive/c/hoge...hoge/src/support.c:123: undefined reference to `__imp___iob' というエラーがでて先に進めなくなりました 勝手に生成されたソースなので何がどう足りないのかよく分からないので ご存知の方おられましたらご教授頂けるとありがたいです pkg-config gtk+-2.0 --cflags pkg-config gtk+-2.0 --libs は成功しています Gladeを使わないで書いたソースで作ったサンプルは うまく動いています ご教授って書くやつ沢山いるけど、ご教示、な。 役不足みたいに定着してんのかな? 意味が違いますね、板違いになるから割愛しますが。 簡単に調べられることも調べられないようではこの板にいる意味もなさそうですが。 一応調べてから書いたんだが http://dictionary.goo.ne.jp/search.php?MT=%B6%B5%BC%F8&kind=jn&mode=0&kwassist=0 きょうじゅ けう― 【教授】 (名)スル (1)0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。 (イ)専門的な学問・技芸を教えること。 「国文学を―する」「書道―」 (2)0 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。 >>111 教示と意味を比較してみてください。教示だけ調べたのでは片手落ちでしょう。 つーか、鼬害だっつーの。 >>109 >>111 それだけを書いてある通りに捉えると確かにあってる感じするけど、 (だからそう書くのも沢山いるんだろうが)相手に対して、自分に 教えてください、ってお願いするのは「ご教示ください」だよ。 http://dictionary.goo.ne.jp/search.php?MT=%B6%B5%BC%A8&kind=jn&mode=0&kwassist=0 こっちの例で「御教示を賜りたく」って載ってるでしょ? >>106 の書きたいことは「お教えください」だろうから、まさにこの例。 まぁあれだ、教えて君にとっては教授なんだろ。つまり、理解したいのではなく理解させてもらいたいのだろう。 俺のGtkスレを荒さないでください(><) >>100 みてVS2005の設定してるんだけど、gtkmm-2.4d.vspropsってどこにあるの? 見付からない・・・('A`) 「ご教示ください」だと、たんに例を示すぐらいの表面的なことを教えるみたいだな。 「ご教授ください」だと、体系的にちゃんと教え授けてください、って感じがでて真摯な質問に思える。 まあ、言葉ってのは「多い方が勝ち」の世界だからなあ。間違った言葉遣いなんて ある意味では存在しないんだよ。2ちゃんで「悪のすくつ」が正しいのと同じでね。 「ご教授ください」は既に30万件もグーグルでヒットすることだし間違いとはもはや言えないよ。 >言葉ってのは「多い方が勝ち」の世界 これには同意するが、「ご教授ください」は本来教えてもらいたい人が 自分に対して使う言葉じゃないんだよ。 >「ご教授ください」だと、体系的にちゃんと教え授けてください、って感じがでて真摯な質問に思える。 教えてもらいたい人が「体系的にちゃんと教え授けてください」なんて、丁寧で真摯というより、 むしろずうずうしい感じがしないか? 示唆する程度でいいので少しでもお力をお貸しください、というのが 人にモノを教えてもらう立場の態度なんじゃないかと。 完全に感覚がずれてるのを実感した瞬間…。 >>115 ごめんね よくありがちな「初心者にもわかるように教えて下さい」ってタイプだな 「親切な人、教えてください」も似たようなもんかな。 反語的に教えない人は不親切だ、と自分の態度を 棚上げにして言っているような印象を周りに与えている ということに、言ってる本人は気が行ってない。 # 気付いててなお言ってるとしたら、さらに悪質だがww 専門的な学問・技芸を教授ってのは、武道で言うと 免許皆伝とかそういうレベルでの習得を意味するんで、 「ご教授ください」なんていった日にゃ、そいつはその日に 家を出て師匠の所に内弟子に入るくらいのことを やらにゃいけんくなるぉ。 >>121 俺はそんな印象は受けないな。 そもそも即座に答えられるのに答えなかったなら不親切なのは確かだし。 「初心者にもわかるように教えて下さい」って言うことのなにが悪いのかわからん。 実際に初心者なのかも知れないし、普通に丁寧な表現のように見えるが。 自分が答えるわけでなし、嫌なら黙ってればいいんじゃね。 それに>>111 の(1)(イ)のように普通に専門的なことを教えるってだけの意味だし 「国文学を教授する」って例から、別に弟子入りみたいなニュアンスは読み取れない。 どちらかというと、ひな壇から生徒に対して教えるみたいなイメージがあって、「教示」よりも 解答者を持ち上げてる丁寧な表現だと思う。すばらしいじゃないか、コンピュータの質問 に答えるだけで教授になれるんだから。教員免許もいらない。 >>117 の「本来の使いかたじゃないけど定着しちゃった」ってという考え方でも問題ないんじゃないの。 俺も昔は他人の言葉の間違いを指摘してたけど、結局、数学じゃないんだから多い方が正しいん だよね。既に30万件以上グーグルにある表現を訂正するのはあまりにも遅すぎる。 >>124 君、グーグル信者なの? 「ビバ!教えてクン!」あたりで検索してごらんよ 事故ったので報告します ./autogen.sh ./configure 共にオプションなしで実行していませんでした (出力の一部) checking build system type... i686-pc-cygwin checking host system type... i686-pc-cygwin checking target system type... i686-pc-cygwin オプションを付けて再度実行してうまくいきました $ ./configure --host=i386-mingw32 --target=i386-mingw32 --disable-shared CC='gcc -mno-cygwin' CXX='g++ -mno-cygwin' (出力の一部) checking build system type... i686-pc-cygwin checking host system type... i386-pc-mingw32 checking target system type... i386-pc-mingw32 ヒントになりそうなリンクをご教示頂いたかた 適当に茶化してるだけのひと 愛の鞭を揮って戴いたかた いろいろ勉強になりました 本当にありがとうございました >>120 そんな7年も前の記事で云々されても困る。 今や、bccを設定するよりもgcc@cygwinをインストールする方が手間が掛からん。 ttp://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/ なんでGHashTableがGlibに含まれてないの? >>138 間違いた。なんでGlibにGHashTableがあるのに、GlibmmにはHashTableが含まれて ないんだろう? といいたかったの。 なんでTreeViewのColumnにwidgetを貼れないのはなぜ? CellRendererConainerを自作すれ GtkWindow がデスクトップの上で移動させられたことを知りたいのですが、 どういうシグナルを使うのがいいですか? WxWidgets使った人居てる? CDT+WxWidgetsがうまく導入できません。 スレ違いかもしれないけどGTK+ってどこの設定でどの言語を使うかを把握してるの? 試しにinkscapeとかPidginを使ってみたんだけど、いつも英語が表示されてしまうのだが。 LANGじゃねーの。あと、アプリの配布方法によっては各国語のカタログないやつもあるよ。 Coqという自動証明ソフトを入れようとしているのですが、 やたらとdllファイルが見つかりません、というエラーが出た挙句、 プロシージャエントリポイント g_get_application_name が ダイナミックリンクライブラリlibglib-2.0-0.dllから見つかりませんでした。 というエラーが出てきました(´・ω・`) これは勘なのですが、gtkを入れる必要があるという事なのでしょうか? 今のところ、C:\Program Files\Common Filesにgtkは入っていません。 >>153 一応ググってはみたんです。 そうするとどうもgtk関係のが多くひっかかったように思えたので ちょっと質問しに来てみたのです。 まあ入れてみれば分かりますよね。 インストールしてみます。 DでGtkをラップしたフレームワークで GTKmmみたいなのないですか gtk_combo_boxのアイテム数を取得するにはどうすればいいですか。。。 理想としてはgtk_combo_box_lengthみたいなのがあればいいんですが・・・ >>159 gtk_tree_model_iter_n_children (gtk_combo_box_get_model (combo), NULL) こんな感じでどうかな? gtkmm 2.10.11です。 Gdk::Color red; red.set_rgb(65535, 0, 0); m_button1.modify_bg(Gtk::STATE_NORMAL, red); これでボタンの色が変わると思ったら変化無し。 俺何か勘違いしている? >>162 バグだね。2.12.0では見事に赤くなりました。 なにー。gnomeのサイトにあった2.10.11のお手軽パックで済ませようと思ってたのに。 とにかくthx。アップデートしてみる。 デスクトップのマウスクリックイベントを取得したいのですが、どうすれば良いでしょうか? グローバルホットキーを登録したいのですが、どのようにするのでしょうか? HTMLをレンダリングするにはどうしたらいいんだぜ? gtkhtmlもgtkmozembedも駄目くね? Vista 64ビットでGTKを動かしてみたのですが、 ウィンドウのタイトル以外(ボタンのキャプション)とか 全部 □□□□□ で表示されてしまいます。 coolwave.exe を動かしてみましたが、ボタンで Quit と表示されるところが □□□□になってしまいました。 フォントとかの問題かもしれませんが、心当たりのある方に対策を 教えていただければと思います。 ちなみにVista32ビットだと、フォントの メイリオ がどうのこうの と警告が表示されますが、とりあえずは表示は大丈夫です。 Bugzillaで検索してみたら? 無ければ登録してあげれば多くの人が喜ぶんじゃない Gtk::Windowのタイトルバーを除いた領域の縦横サイズを取得するにはどうしたらいいんでしょうかね? 有名かもしれないし、Linux向けのページだけど貼っとく。 GTK/GNOMEによるGUIプログラミング http://www.iim.ics.tut.ac.jp/ ~sugaya/wiki/wiki/index.php?GTK%2FGNOME%A4%CB%A4%E8%A4%EBGUI%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0 >>175 スレ違いだけど sugayaってもしかしてと思ったら、うちの大学で助手やってた人だ 必要は無いけど Linux板にもGTK+スレがあって、しかも向こうの方が歴史が長い。 環境の切り分けも出来てるしいいんでない? Glade for Win32がとりあえず復活している様子。 ttp://gladewin32.sourceforge.net/ linux板にはあるからそっちを使いな ・・・Qtスレはunix板にあるんだな gtk-dev-2.12.9-win32-2.exeってのさっきインストールしてみたら、 元のシステム環境変数PATHを思いっきり消して、自分のPATHだけ登録しやがった。 何これ、ふざけてる。インストーラのバグか? 幸い気づいたときには、消される前に起動したシェルを立ち上げたままだったんで、 シェルが握ってる環境変数から復元したけど。 GtkWindowを最前面で表示する方法ってどうするん? コンテナなどはcan-focusをセットすればフォーカスが移るようになると思うのですが、 フォーカス枠は表示されません。この場合にフォーカス枠を表示させる方法はあるのでしょうか? MinGWで開発してます。 コンパイルして、実行ファイルを実行するとGUIの画面も出ますが、 コンソール画面も出ます。 このコンソール画面が表示されないようにするにはどうしたらいいでしょうか? >>190 ありがとうございます。 出なくなりました。 >> 190 それって、Cygwin用じゃないの? そんなことを書いているサイトを見たことがある・・・ >192 PE ヘッダ中のフラグをどうするかだけだろうから Win32 の EXE なら一緒でしょ。 っていうか、EXE を直接書き換えても同じ効果が得られるはず。 GTKってLGPLだよね?商用とかいけんのかね? ライブラリがないとかでユーザサイドで動かない場合が多くなりそうだけど。。 シャエウェアもダメなんかね? >>194 商用ソフトが実際にあり、うちの会社で使ってる。 >>194 LGPLならライブラリをパッケージに含めることは問題無いだろう もちろんライブラリ自体に手を入れたなら、その部分のソースは入手可能にしておかないといけないが LGPLのライブラリを再配布していいんだったらスタティックリンクしたのとあんまかわんないし、 だめなんだと思ってたんですが。 うーん、ぐぐってもなんか意見が割れてるなあ・・よくわからん 何をどうググったのか知らんが 割れてるなら厳しい意見の方を採用しておけばまぁ間違いは少ないだろう Windowsの終了時(電源を切る)に ソフトを起動する事は出来ないでしょうか? 時間記録等のバッチやアプリを起動したいと思っています。 (現状は、この最後のためだけに常駐させている状況です) WM_QUERYENDSESSIONでfalse返しておいてアプリを起動し、バッチ終了後に改めてExitWindowsを投げるアプリを作ればもちろん出来ますよ .あるいは単に「アプリAを起動、終了を確認してからExitWindowsする」 アプリBを作り、必ずアプリBを起動してWindowsを終了するようにする。 これなら常駐の必要ないべ。 てかGtkと関係あるのか?w >>201-202 有難う御座います。 これを参考に早速試してみたいと思います。 LGPLはライブラリをそのまま含めれば ソースコードの公開やらフリー化が義務らしいがDLLはその限りではないらしい パッケージにDLLを含めればいいのでは? GtkTextIterの仕様って意味不明だわ。 テキストの範囲の終わりを示すのに使われるときには手前の文字までしか 含まないのに、GtkTextIter自体から文字を取得するときには後ろの文字が 返される。 なんで「文字と文字の間の位置を表す」なんてわかりにくい概念で定義 するかね。 理解するのに無駄に時間がかかったよ。 イテレータはC++におけるSTLの概念だね... まあテンプレート自体C++特有の考え方だから C++使わない人にはなじみがないかも... ソートやらリストやらの手間が省けるから便利ではあるんだけどね... 今気づいたが、WindowsでGTK+やQtのアプリ起動すると、サンプル程度の物でも メモリ使用量が20〜30MBは当たり前って感じで萎えた。タスクマネージャでざっと 確認しただけだが、同じ物を複数起動しても、すべてそんな感じ。 この事といい、起動速度といい、.NETといい勝負。ただGTK+はクロスプラットフォ ームだし、LinuxのGNOME上なら起動速度も普通(当たり前だけど)なのが違う。 Gnomeはそれ自体がもっさりだから目立たないだけって肝ス。 どなたかメモリ節約しつつRuby/GTKアプリケーション動かす方法知りませんか? やっぱ無理なのかなあ。 Ruby+GTKという組み合わせな時点で ある程度メモリ食ってしまうのは仕方ないだろ アプリをGUIで終了させるには正常に終わるのですが、 コンソールからCtrl-Cで終了させると、エラーメッセージが出ます。 どうすれば直りますか。 そりゃそうでしょ。正規の終了方法じゃなくて強制終了なんだから。 >>208 でたらめ吐くな GTKのサンプルくらいなら10M以下で十分動作するだろうが サンプル程度で10Mも喰うなんて 馬鹿なの? タヒぬの? >>212 Ctrl-Cシグナルをフックするハンドラを書いて abortしないようにすれば桶 +window −+vbox −+scrolledwindow −+viewport −+aligment −drawingarea という構成でscrolledwindowの中心がdrawingareaに表示した画像のどの座標 に該当するか分かる方法又は関数ってありますか? GdkのregionってWin32のGDIのregionみたいに色んな図形のとか、 PathToRegionみたいなことできるんですか? こんど新しいQtの本が出るみたいだよ。入門書っぽいけど。GTK+もがんばってほしいなあ。 http://www.amazon.co.jp/dp/4877832211 すみません、さっぱり分からないので教えてもらえないでしょうか・・・。 gtk_pixbufの関数(gdk_pixbuf_new_from_file)を使いたいのですが、やっぱりgdk_initは呼んでないと駄目ですよね? gdk_initって、DISPLAY環境変数がないと動かないようなのですけど、X Windowを立ち上げない状態ではやっぱり無理ですかね・・・。 http://jp.rubyist.net/magazine/?0019-cairo の真ん中あたりには、Xサーバーがなくても動くみたいなことが書いてあります。 この記述はあってるんですか? どうぞよろしくお願いいたします。 >221 CentOSだけど、DISPLAYなくても動くみたい --- ..... g_type_init(); pGError = NULL; pGdkPixbuf = NULL; pGdkPixbuf = gdk_pixbuf_new_from_file(pFile, &pGError); if (NULL == pGdkPixbuf) { fprintf(stderr, "%s:%d:%s\n", pFile, pGError->code, pGError->message); g_error_free(pGError); } else { printf("Open success %s\n", pFile); } ..... --- $ g++ -g 'gdk_pixbuf_new_from_file.c' `pkg-config gtk+-2.0 --libs --cflags` $ export DISPLAY= $ ./a.out tmp.jpg gdk_pixbuf_new_from_file(tmp.jpg) Open success tmp.jpg $ ./a.out tmp.txt gdk_pixbuf_new_from_file(tmp.txt) tmp.txt:3:Couldn't recognize the image file format for file 'tmp.txt' >222 返信ありがとうございます! なるほど、g_type_initを呼ばないといけなかったのですね。 勉強不足でした。 今回初めてlinux上で開発をやらなければならなくてやってるのですけど 難しいですね・・・。英語しかないものが多くて泣きそうです。 本当に助かりました。222さん。 Gladeとgtkmmって全く依存関係ないんですか Win32 用で Gtk+ と Gimp-dev の環境ってどこかにないですか? 環境作るのに疲れました。 MinGW + msys でコンパイルしたいと思ってます。 最初D言語の統合環境で見つけたCode::BlocksがGtkの開発に意外と便利だった EclipseのGTKプラグインってどっかで入手できますか? 自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L 名言集 その4 『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』 http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ のID:PVAf+dux0 = 自動焼人 ★ > 965 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:02:09.35 ID:PVAf+dux0 > まぁ何だ。 > 俺の過去の経歴に比べたら、割れ厨なんて鼻くそレベルなんだけどなw > 100人規模の集団サイバーテロの主犯とか、いろいろとな。 ---------------------------------------------- この自動焼人 ★メールマガジンの配信停止をご希望される方は http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/ にて自動焼人 ★までご連絡ください ボタンwidgetの背景色を動的に変えるにはどうすればいいの? これからGTK+を学んでみようと思ってる者っす。 GTK+を使ったWindowsアプリを作ったら、そのアプリの使用するマシンでGTK+が動くように ライブラリか何かを一緒に配布する必要がある? どれを配布すればいいかな。 Sylpheedはインストーラで自動でインストールできるようになってるみたい。 >>1 の動的リンク云々はこの関連の話? 動的リンクってつまりDLLのことかな。 誰かかっこいい人、教えてください。 ライブラリはインストールパッケージにdllを一緒に入れるか staticlinkでなんとかなるんじゃないかな フォントとかも一緒にいるし それ以外にもいろいろいるから 自己解凍インストールにしないかぎり exeひとつだけって訳にはいかないよ 男前な>>258 さん、ありがとう。 スタティックだとソース公開しなきゃいけなくなるんじゃなかった? ダイナミックはOK、スタティックはダメって変な話だから、間違ってるかも。 で、dllはどれを入れるんでしょ? あと、「それ以外にもいろいろ」っていうのは、iniとかreadmeみたいな 自分で作ったファイルってこと? そういうのならわかるからいいけど、システム上要求されるファイルのことがわかんない… >< Sylpheed インストーラの作ったファイルみろ >>240 インストーラが作るファイルって見れたっけ? ま、とりあえすアドバイスありがとう、チュッ! GTK+ってWindowsではあまり使われてないの? 何で〜? wxWindows on GTK があるように wxWindows on GTK on MSW があっても良いと思う JavaのJREみたいに、「これさえインストールすればGTK+を使ったソフトが動きます」っていうような インストーラがあればいいのにね。 ソフトごとにライブラリをパックして配布するなんて面倒い。 あー、全部詰め込むと巨大になるのか。 使ってるDLLだけ実行ファイルと一緒に入れておくのがいいのね。 GTK+って商用で使われてる? 職業プログラマの人たちは、仕事で使ってるんだろうか・・・。 >>247 VMwareとかに使われてるのはよく聞く。 AndroidのUIもGTK+じゃなかったっけ?あと携帯のシミュレータの外側UIにGtk+の1.x系が使われてたってのも聞いたことがある。 >>247 日本医師会が作ってるしょうもないレセプトシステムも昔1.x系が使われてたな。 一応使われてるんだね。 さっそくやってみようかな♪ >>251 逆じゃない? つか、PhotoShopてGTK+だったのか。 >>252 Photoshop ElementsはQt 商用アプリは残念ながらほぼないに等しいと思うけど、 ttp://www.sharp.co.jp/netwalker/ みたいに、Linuxをまんま載せてるものはメインで動いているのは GTK+アプリだよ。 俺のNECの携帯BusyBoxでGTK+1.xだわ 公式ページ探したらソースコード落とせるようになってた 組み込みならGTKけっこうあるんじゃないか? >>255 ライセンス緩いでしょ? 商用だとライセンスが何か障害になる? >>259 書き直さなくても 俺のけつまんこでヌップリ包み込んでやるよ Windows上でgtkmm使ったポトペタ開発を試してみようと思うんだけど,何を用意してどうすればいい のかよくわからない(コンパイラはMinGW希望)。 最初Glade 3をインストールしてみたけど,XMLファイルしか吐かないので,ググって知った情報から Glade 2に代えたら確かにソースコードを吐く機能があったので,C++コードを吐く設定にして実行したら エラーが出た。Cコードなら吐けるみたい。 教えてください。 ちなみに>>183 の情報見といて助かった。アリガト。確かにGlade 3インストールしたら,PATHを見事に「オレ専用」 に書き換えてくれやがったよ。 環境変数をファイルに保存したり読み込んだりするeveというツールを使って復元成功。 >>263 ttp://pc11.2ch.net/test/read.cgi/linux/1188968326/ の227 229に、とりあえず俺が書いた gtkmm + GtkBuilder の サンプルがあるからみてみ。 >>265 GtkBuilderですね。ググっていろいろ見ているうちにわかってきました。 ありがとうございました。 Gladeの動画見てみた http://www.youtube.com/watch?v=vOGK3TveDDk 難しいんだか簡単なんだか、微妙だな GtkBuilderって何? ググってもよくわからん >>267 まだちょっと調べただけなんだけど... 例えば、 つ http://www.nslabs.jp/glade.rhtml GtkBuilderってのは、Glade 3の吐いたXMLファイル(.glade)をリソースファイルとして 読込んで、GUIを構築して例えばボタンを押したときにGlade側で定義したイベントハンドラ を呼び出してくれるような機能をもったライブラリということのようです。 コード自体は結局手で書かないといけないので、Qt Creatorとか、wxDev-C++のような IDE/RADを使うのより手間が掛かるっつーことになります。 って解釈で合ってます?> GTK+使いの人 せっかくXML載りソースファイルがあるんだから、そこからCなりC/++なりのソースコードの スケルトンを生成してくれるツールがあっても良さそうだと思うんですが...無いのかな? C++の場合、仮想関数を利用して、最小は基底クラスのソース(イベントハンドラがvirtual)と、 継承クラスのソースの両方を吐いてくれたりすると便利そう。 以後、GUIを変更した時は基底クラスの方だけ上書きされるようになってれば、継承クラスの方 に自分で書いたコードを壊さずに、変更部分だけ基底クラスの方からコピペすることができます。 ...ってこれ、wxFormBuilderのパクリですが。 >>268 .gladeはGlade独自のUI定義ファイルで、LibGladeってライブラリで使うもの。 GtkBuilderはGtk側でglade相当の仕組みを提供したってところだね。で、Glade3はそのGtkBuilderのためのUI定義を吐ける。 その昔GladeはCソースを生成する機能があったそうだが、バグが多かったりUI定義のXMLを吐くよりメリットが少ないということで削除されたそうだ。 Linux板のGtkスレをみるとruby-glade-create-templateってツールに触れられてるから、テンプレート生成ツールとかないわけではないんじゃないか? >>268-269 よくわからんけど、サンクス。 あなたたちの言ってることが理解できるように精進するです。 >>269 > Linux板のGtkスレをみるとruby-glade-create-templateってツールに触れられてるから、 それってrubyでC/C++のテンプレートを生成してくれるスクリプトなのかと思ったら、ruby/GTK用だったw GtkGlextとかGtkGlextmmのサンプルで pixmap、pixmap-mixedがエラー吐くのは直らんのだろうか? >>183 やられた…俺も消されたッス…>path 環境変数を全然バックアップしてなかった… システムの復元をしてみたら、今度はXPのタスクバーが出ない状態に… タスクマネージャからexplorer再起動してタスクバー出して、 eveを起動してpathのバックアップとって、 システムの復元を取りやめてから消されたpathを再設定して… (´д`) 皆も気をつけろ!と書き込もうとこのスレ開いたら既に報告が上がってて orz くそう…先にその話を知ってれば… Windows版のGtk、ちょーヤベエ。まるでprogram filesを全消去するどこかのエロゲーみたいだ ついでに調べた範囲で書いとくけど、 gtk-2.8.20-win32-1.exe ↑インストール時に環境変数を弄らない設定でも、アンインストール時に問答無用でpathを全削除する gtk-2.12.9-win32-2.exe ↑インストール時に環境変数を弄らない設定なら、アンインストール時にpathは消さない どうも環境変数 GTK_BASEPATH が存在していて、path 中に、%GTK_BASEPATH%\bin が記述されてると、アンインストール時に path を全削除する予感。 インストーラに環境変数を弄らせないで、手作業でpathを追加したほうが安全かもしれない。 巷の Gtk+導入記事の中には、上記2つについて「安定していてオススメ!」と書いてる記事があるので、 俺のような初心者がそれを信じて導入すると、泣きを見る可能性が高い。 とにかくGtk+関連は導入前に環境変数のバックアップを必ず取ること下手すると削除されるぞ! って言っといたほうがいいような気がしたので書いてみるテスト >>274 システムの復元は一番使ってはいけない機能w 俺もアンインストール時にハマったわ よー調べたな 乙 環境変数に関わる問題は昔からあるね。 GTKを扱うアプリはいくつかあるけど(GIMP/Dia/ImageMagik/RubyGTK...etc)、 それぞれによってインストーラにGTKのランタイム(DLL)が付属していたり、 していなかったり、付属している場合にはバージョンは(当然の事ながら)統一されず、 インストーラがインストール/アンインストール処理で環境変数とレジストリを 変更する方法にも一貫性が無い。 Win32版のGTKアプリの配布について、どこかの組織で(gnome.org?) 取り纏めてくれれば解決するんだろうけど、まあ無理だろうね。 自分は問題解決を諦めた。 ランタイムは単独で入れてアプリはGTK無し版を使うのが一番いいのか? アンインストールで環境変数消される問題 自分もはまった なんでこんなひどいことするの? 愛してるから別れないでくれってことだよ言わせんな恥ずかしい/// PATH環境変数問題、つい最近2台のマシンではまったので、調べてみた。 ttp://nsis.sourceforge.net/Talk:Path_Manipulation の一番下 >String size limitation >Please note that NSIS default build has a string limit of 1024 characters. >If the PATH is bigger, this function will replace the whole PATH >instead of just appending to it. >Temporarily you can use the large strings build of NSIS to avoid this problem. >--Shmektse 13:25, 20 June 2010 (UTC) どうやらインストーラに使っているNSISの文字列のサイズ制限でやられるようだ。(GTKに限らずバグ回避策をとっていないNSISインストーラ利用アプリ全般に可能性はある) Ruby-GNOME2が新バージョンでgemに対応したよ。 windows + gtk + mingw + eclipse で始めようと思ったけど 情報少ないんだな >>284 Linux+Gtk系の情報をWindow+mingwに読み替えるスキルない君には無理だね 使いもしないで、風評だけで使えないとかほざく馬鹿ハッケン 話の流れからすると、↓の意味だろう (C言語では)Qtが使えない以上、一番メジャーなのがGTK+ とりあえず、GTK+が駄目な理由を教えてくれ。QtがGTK+よりいい理由でもいいが。 無問題、Windows的にはどちらも駄目だから、何故かと言うとWindowsという存在 そのものが元来クロスプラットフォームとは無縁だったからに過ぎない。 WindowsはなんでもかんでもWindows専用でいい。 Windowsで駄目という事はない。GIMPとかちゃんと動いているし。 見た目がネイティブアプリと違うのはどうしようもないけどね。(特にファイルダイアログ) 一度押したボタンがフォーカス外さないともう一回押せないとか >>298 おまえは一体何を言っているんだ。 Windows7でGIMPを動かしてみたが、至って快適に使えてるぞ。 普通のユーザーだとGTK+で動いている事に気づかないレベルだ。 GIMPが快適… イ`ヘ /: :| ヽ / : :/ ヽ ___ _,,,:. .-: :´彡フ _ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 / ( : : : : : : : : : : : : : : `ゝ / 変 r::/: /: : | : : : : : : : : ::\ / //: /: : : |: : | |: : |: _: : : :ヽ 態 {/ 7|`\/i: /|:|/|´: : : : :|ヽ 〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: | だ / r:oヽ` /.:oヽヽ: :|: | :| { {o:::::::} {:::::0 }/: :|N 〜 | ヾ:::ソ ヾ:::ソ /|: : | !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ -tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } > ::∧: : :|: |J \ / /::i: | /_ゝ . \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::| ヽ: |::|\  ̄/ /| |: : :|: | 快適の意味が違う。 俺は絵かきではないんで細かいことは知らん。 このスレがこんなに消費されてることに驚いたわ LinuxでもGUIアプリを動かしたいって需要そんなにあるもんなんかね Qtのスレも意外に活発だしそういう兆候なのかもしれん >>304 on Windowsだぜ? gimp on ms-windowsとか。 >>306 on Windowsだったか 勘違いしてたわアイタタタ Linux板にもスレがあって、ソッチの方が若干こちらより多く消費されてるな >>310 gimpインスコしたけど自分で作ったやつ(ウィンドウ表示するだけのプログラム)起動できないんだけど GTK+3系のwin32用バイナリってどこかにある? そもそも、win32版のGTK+3を1からビルドしてちゃんと動いている人いる? GTK+が糞という事は全く無い。少なくともLinux上ではかなり良く出来てる。 問題はWindows対応が後手後手になっている事だな。 Windows上だって2系列なら問題なし。 gimpで実績有り。 GTK+3.2がリリースされたけど、そろそろWindows用のバイナリを配布してくれ。 MSフォントじゃないとまともに起動しないのが気に食わない public class UserWindow :Gtk.Window{ } こういう感じの事がしたいのですが引数つけろ!と文句を言われます。 どのようにしたら文句を言われなくなりますか? QTが滅びそうだし、これからはGTKの時代。 しかしGTKスレがない不思議。 何度でも言うよ 欠かさず言うよ GTKは糞 君を愛してる qtって死んだのか? photoshopなりchromeなり、メジャーなツール全般で使われてるから、 gtkより遥かに使われている印象だけれど。 もっとも、個人的にはプレーンなc++で書けるgtkmmが好き。 gccとGTKを弄りはじめた。DELPHIが天国に思えたw QtもDELPHIのGUI環境から見れば、やってられねー 昔Kylixというのがあってだな・・w そいやFPCってどうなったんだろ? あ、言いたかったのはLazarusの方だった。まだやってたんだな。 1.0なんて最近出たのかw お、GTK2、QT、Mac OS X Carbon、Android、iOSと結構スゴイことになってるな。 FPCはなんか凄いことになってて、本家Delphiにもクロスコンパイラとして同梱されていたりする。 旧ボーランドの人も多少は関わっていたりするのかな? ヘジルスバーグとか入っていたり? gtkmmは何となく理解できた。 qtやwxWidgetsはマクロを多用するからか理解できなかった。 けれど、ライセンス的な部分から、もし使うならwxWidgets。 ビルドして、exeができたのに、実行したら、DLLがないといわれた DLLいれたら、こんどは、エントリポイントがどうのこうのいわれた >>346 その程度のことに対処できないのになぜGTK+を選択した? 素直に金払って有償ライブラリを使った方がいいよ もっと金を払えばサポートもそれなりにしてくれるよ ていうか金払ってプログラミング講習とか受けた方がいい >>349 またおまえか、巣に帰れ。 しかし、gtkmmが糞なのは同意する。 >その程度のことに対処できないのになぜ うるさいなぁ FPC = Free Pascal Compiler 質問です GTK+2をスタティックでビルドしたのですが、gtk_label_newを定義すると failed to create cairo font face, expect ugly output. the offending font is 'DejaVu Sans 9.9990234375' Pango-WARNING **: font_face is NULL Pango-WARNING **: scaled_font is NULL と表示されてプログラムが強制終了します。これってpangoかcairoの問題なのでしょうか? freetypeもfontconfigもリンクしてあるんですけど…一応簡単な窓なら落ちないです キーのリスナーとキー入力の動作 って簡単ですか? キーバインド変更アプリケーションを作るんで検討しています。 javaのAPI使うより C、C++ & gtkのほうが速いですかね? >>356 JAVAからだったら中で完結した方がいい JNIが遅いから 久しぶりにビルドしようとしたら、x64GCCだとglib-genmarshalが止まって これ使うライブラリが作成できないぞ 使わんからいいけど、いまさらながら依存関係が酷いな GTKやろうとしたけどCairoとかよくわからない周辺のライブラリまで出て来てあんまり手軽じゃないね GTK → AWK Tk → Perl wxWigets → Ruby Qt → Python webkit → JavaScript Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww http://engawa.2ch.net/test/read.cgi/poverty/1368116873/ これ自前で描画してんの? Uiバグったかと思ってビビった gtkは癖がある qtはイベント周りが慣れない winformが使いやすいけどmonoだと遅いw >>366 Why don't you use wxWidgets? I'm fine, thank you. and you? gtk_x64 の gtkbuilder mingwでは起動できるけどVSでは起動しない 何故vs版が存在しているのか意味不明、この状態をリリースするとか 開発側もユーザー側も時間の無駄だよ早急に撤去するべき GTKを使ってるとあれだけ糞だと思ってたWindowsAPIが偉大に見えてくるから不思議 LinucのGUIアプリってWindowsの1万分の1も需要なさそう。 今、gtkmmを勉強中だよ。 スゴいアプリ作れるようになるんだ。 gtkmm、一通り勉強終わり。Visual Studioで使えるか試してみる。 見た目をWindowsっぽく変える方法を知っている人、居ますか? 昔、Gtk使ってみようと思ったことあったけど、当時、HTML表示機能がなくてやめたよ。 多分、今もないかな。 gtkhtmlという標準でないものはあったけど、GTKのバージョンが違ったりしてコンパイルできなかったような気が。 QtのTextBrowserとか、JavaのJEditorPaneとかは、よくできている。 WindowsのIEコントロールも使い方がかなり難しいけどもHTML表示ができる。 IEコントロールはマルチプラットフォームじゃないけどね。 WebKitGTK+ていうのがあるようだけど。たしか昔はmozembedとかいうのがあった気がする >>386 Webkitベースでも別に構わないんだけど、右クリックしたら独自メニュー出せるとか、 リンクをクリックしたら、独自処理にジャンプできるとか、 表示HTMLをファイルを経由せずにセットできるとか、 そういうのが簡単にできるようになってないと、使えないかな。 多分、簡単にはできない、もしくはできないと思うんだよね。 サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ https://www.youtube.com/watch?v=NDq1QoJY0nY 宇ドナルドアナリストパワーストーンコーチングとしまえん サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足 サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題 春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残 コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題 マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了 校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント 高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート gtkほど他の言語でバインディングが作られてるGUIライブラリはないと思うので頑張って欲しいな gtk4期待してるぞ 色々な人や物が私の体を通り過ぎて行った その中でも一番アレだったのがgtkmm >>384 2017年書き込み0なのに出てくんなや気持ち悪い Qtみたいにドッキングウィンドウが手軽に使えたらいいのになぁ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 WHOGK >gtk_message_dialog_new(GTK_WINDOW(window),(略 この GTK_WINDOW() の部分は何のためにやってあるんですか? これ無くして直で書いても問題なく動作しているように見えます ヘッダーを見ても #define GTK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow)) よく解りません ヘッダーよりググッてリファレンスを見るべき、読めないなら翻訳にぶちこむ https://developer.gnome.org/gtk3/stable/gtk-getting-started.html A window title is set using gtk_window_set_title(). This function takes a GtkWindow* pointer and a string as input. As our window pointer is a GtkWidget pointer, we need to cast it to GtkWindow*. But instead of casting window via (GtkWindow*), window can be cast using the macro GTK_WINDOW(). GTK_WINDOW() will check if the pointer is an instance of the GtkWindow class, before casting, and emit a warning if the check fails. More information about this convention can be found here. https://developer.gnome.org/gobject/stable/gobject-Type-Information.html#G-TYPE-CHECK-INSTANCE-CAST:CAPS #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type)) Checks that instance is an instance of the type identified by g_type and issues a warning if this is not the case. Returns instance casted to a pointer to c_type . No warning will be issued if instance is NULL, and NULL will be returned. This macro should only be used in type implementations. もう2019年だというのに何が悲しくて今更Gtkなんてやるの...? Gtk は、Windows でも動くのか? 初めて知った GUI は、HTML, CSS, JavaScript。 Electron (Node.js + Chromium)を使った、VSCode のような感じ Ruby でも、同じ msys2でgtk3と基本的なビルドツールとgccを追加してウィンドウが表示されるだけのアプリケーションを作成したところ正常に動作しました。 ほかのパソコンに移動しても動作できるか確認したかったので-staticオプションをつけてビルドしてみたところ大量のundefined referenceエラーが出ます。 gtkは静的リンクできないものなのでしょうか? msys2 は、日本語でバグらない? Ruby のirb も、Windows では、日本語でバグる。 一方、WSL, Ubuntu では、コマンドプロンプトと同じ画面を使うから、バグらない ただし、WSL には、GUI がない。CUI だけ https://imgur.com/BVr1b9H この図の TextView ウィジェットの背景と文字の色について質問です。 これらの色の RBGA を知りたいです。よろしくお願いします。 文字 (黒に近い灰色に見えるが実際は色んな色が使われててどれがドミナントか判らんわ) 枠 193,193,193 枠の内側 235,235,235 枠の外側 212,212,212 ボタンの内側(下から上へ明るくグラデ) 224〜245,224〜245,224〜245 ボタンの下の枠とか影とか全部濃度違うけど青っぽいってのはないな ありがとうございます。参考にします。そうですか、文字色は色々ですか。うーむ。 本当は print( textview.get_color() ) とかして調べられたら良いんですが、 AttributeError: 'TextView' object has no attribute 'get_color' となって調べられないんですよね。。。 >>418 画像ソフトで、色を選ぶためのカラーチャートのところで、スポイト 機能を使うか、または、アイコンからスポイント機能を使って色を 拾ってからカラーチャートを出して見てみると、R,G,Bの値が 表示されるよ。 文字も立体っぽく描かれてて 文字の左側(光)が赤っぽくて右側(影)が青っぽい >文字の左側(光)が赤っぽくて右側(影)が青っぽい アンチエイリアスのサブピクセル指定じゃないかな >>419 なるほど。試してみます。 でも、本当はスクリーンショット経由ではなくて、python等の中で直接に取得したいですね。 なんで、TextView(とTextBuffer)には get_color() 等がないのだろう? どこでどの様に設定されているのだろうか? Pango? Gtk.TexView で標準で使われている色について、どこかに説明がないですかね? もしかして環境依存? VBと言う単語が出てくる時点でお帰りいただいた方がお互い平和でしょう 今はdelphiでlinuxの開発もできんのね。。。 昔kylixってあったけど普通のdelphiで出来るのな fpc+lazarusまだやってるのかな? 静的リンクしてスタンドアロンなアプリを作れますか? もし可能で、やった事のある人が居ましたら、ポイントを教えてください。 GTKは糞 関わっても時間無駄にするから 他の娘とした方が良い 今のLinuxの主流のGUI開発ライブラリ、ツールってなんなの?qt? 今どきはGUIに主流とかない windowsだってWPF、UWPが普及してないので結構困ったことになる 使いたきゃGTKでも使えばいいのさ >>377 >>389 399 今年は新年Gtkニキいなかったんだな ついに転向したか >>391 ,396 やっと今年出そうだね。もう目前。 いつの間にGTKの公式サイトがモダンな、企業サイトみたいになってるんだが いくつかの陰謀論を巻き起こした3色のうねうねはどこに行ったの? VTE が欠けてるから困るよね。 誰か移植してくれないかなぁ。 Geany もWindows版はターミナル組み込みないもんね。 >>432 個人的にElectronは配布サイズがでかすぎるのが ゆるせない(何しろブラウザまるごと入ってるからね) GTKは軽くて良いんだけど、windows向けにVTEがないから作れるソフトが限られるんだよね。 446がmltermのlibvte互換ライブラリを使ってる可能性 GTKで使うアイコンについて…Gladeでデザインしているんですが…UbuntuでGnomeです… アイコンがさ…これって…GTKライブラリが持ってるのか…Linuxが持ってるのか分かりません。 つまり…KDEのみのLinuxだと…このアイコンって出てこなくなるのか?って事。 ここはWindowsの板だけど…Linuxで作ったアプリのアイコンがWindowsでも出てくるかって事。 分かる人居たら教えてください。自分でイメージ貼ったほうがいいのかなぁ? Gladeで標準のアイコンだけどを表示とかチェックもあるし…なんか出るか怪しいよね。 find / アイコン名で、何も引っかからないので、GTKライブラリが持ってるのかしら? OSに依存しない仕様だったら、嬉しいんだけど。 Gtkmmで…Gladeで…GtkToolBarとGtkTooButtonを配置したんだが…有効にならない…。 Disabledの状態…Gladeだからかと思って…Eclipseでコンパイルしても有効にならない…。 toolBar->set_sensitive(true); toolBar->get_style_context()->add_class(GTK_STYLE_CLASS_PRIMARY_TOOLBAR); なども試してみたが…まだDisabled…click処理をconnectしないといけないとか? 分かる人います? Disabledなのはツールバーなのかボタンなのか 多分両方です…ボタンもset_sensitiveは試しています…。 明日は…libgtkmm-3.0-docでも入れて調べるよ…今日はもう寝る時間…。 ほな…。 ToolBarとToolButtonが有効にならない原因が解りました…。 ToolButtonでaction_nameの設定を外すと…有効になりました…。 これは…actionではなく…signal_clicked().connectで やればいいのかもしれない…。 Gladeに出てくるアイコンは環境依存みたいだねぇ…当てにならない…。 自分でアイコン保持しとくわ…。 そもそもここGtk総合スレじゃねえからな Windowsスレの時点でもう Windows: GTK いらね Linux/Android: GTK いらね *BSD: GTK いらね 個々のプラットフォームに着目したらGTK+を選ぶ理由はあまりない それぞれのプラットフォームに特化したUIツールキットがあるからね でもマルチプラットフォーム対応を考えるとGTK+も候補として浮上してくる >>460 >GTKに求めるのが頭悪い 既にあるのを「GTKに求めるのが」だって。バカ過ぎ。 移植が不完全なWindows用が劣ってるだけだ。 まんま、キリッ -> クスクス->オロオロのAA だな。 PythonでTkinter使ってて今C++でGtk使ってるがGtkいいわ 俺の女房にしてやる >>457 gtkmmってメンテナンスされてるのあれ なんかWikiの最終更新日がえらい昔だったけど 話題ないくせに煽りにだけ来るバカばかりのスレだから平気で1年とか書き込みないな お前もって? いや書いてやったんだから感謝しろ せいぜい無駄にチェックしてろ flutterでlinuxデスクトップ作ろうとしたら ネイティブはgtkでよくわからんかった… >>467 gtkmmはバインディングの作成がほぼ自動化されてるし、 大した特記事項も無いんでしょ gobject-introspectionに対応すれば、PythonとかJavaScriptのバインディングも自動的に出来るし、それこそがGTKの最大のメリットだな 中身の実装なんか、もはや大差ないしな read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる