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 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の画面も出ますが、 コンソール画面も出ます。 このコンソール画面が表示されないようにするにはどうしたらいいでしょうか? read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる