1 名前:login:Penguin [2007/09/05(水) 13:58:46 ID:2SORZMjm] GUIツールキットであるGTK+とその周辺技術についてのスレッド -前スレ- pc11.2ch.net/test/read.cgi/linux/995808691/ -関連サイト- 本家 www.gtk.org/ APIレファレンス library.gnome.org/devel/gtk/stable/ gtkmm(C++ラッパー) www.gtkmm.org/ glade glade.gnome.org/ libglade www.jamesh.id.au/software/libglade/
335 名前:329 [2009/11/09(月) 01:13:18 ID:xrkj026G] >>333 Cのほうがやっぱ楽なんですか。 といいつつC++も捨てがたいけど、>>334 さんと同じくgtkmmの固有事情が気になります。 JavaやPHPのやつも存在は知ってましたが、CかC++でアプリを作れるようになりたいなぁと思ってて…。
336 名前:login:Penguin mailto:sage [2009/11/09(月) 01:49:16 ID:9bGbNsmw] >>333 , >>334 >>132 , >>318 の言ってることについては心当たりないが、GtkTreeIterだかのバインディングにメモリリークのバグがあるとかいうブログの記事を見たことがある。 固有事情とは言いすぎた。GObjectの仕組みに加えてC++のオブジェクトとの絡みで素のGTK+より覚えることが多くなるかなと思った故の発言だ。 >>334 C/C++ともほぼ未経験なら日本語ドキュメントや和書もある素のGTK+のほうが理解しやすいのではと思ってC+GTKを勧めたが、単純にGTK+のウイジェットを使ってウィンドウアプリケーションを作るならgtkmmのほうが楽なはずだ。 素のGTK+をCで使用する場合、頻繁に型キャストのマクロを使うし、新たなウィジェットを作成する際にはGObjectの動的型システムを素で使うことになるからその点面倒だ。 gtkmmであればその点いくらか楽ができる。だが、ほかの言語バインディングでも使えるウィジェットを作成するとなると素のGTK+の動的型システムの流儀も触れる必要があるから、C++の知識に加えてGObjectの仕組みも知る必要がでてくる。 Javaをある程度使えて、GObjectの動的型システムには触れずにウィンドウアプリケーションを作りたいということであれば改めてgtkmmのほうを
337 名前:login:Penguin mailto:sage [2009/11/09(月) 09:55:18 ID:H/aMIY+I] わざわざPerlで扱ってる変態もいるしな
338 名前:login:Penguin mailto:sage [2009/11/09(月) 10:14:55 ID:LeSNQMah] >>335 俺は Python でやってる。 C を使っている gtk+ プロジェクトだったら C で書く。 そんなに違いはないし、簡単。 Cだとヘッダーにいちいちプロトタイプ宣言しなければならなかったり 毎回コンパイルしなければならないのが面倒だからPython使ってる。 楽チン。
339 名前:login:Penguin mailto:sage [2009/11/09(月) 15:19:07 ID:dkYv1Xb9] >>337 ぇー最近perlでGTK触りはじめたけど、変態じゃないやい><
340 名前:login:Penguin mailto:sage [2009/11/09(月) 15:40:43 ID:nWvFWYHF] とにかく完成するのが目的なら自分の好きな言語でいいじゃん。おれはRubyだぜ。
341 名前:login:Penguin mailto:sage [2009/11/09(月) 18:21:40 ID:EMO5BJHN] GTK+はバインディングが多いのがいいよね
342 名前:login:Penguin [2009/11/16(月) 16:13:58 ID:VCRzBqJE] なんだかんだ言って、Cのコードは寿命が長いんだよね。 コストベーシスで考えると、GTK+の場合は全てCで書いた方が いいと思う。他のメジャーなソフトはほとんどCだし、 インテグレーションもし易いよね。
343 名前:login:Penguin mailto:sage [2009/11/16(月) 17:18:31 ID:gFc8JNPu] Cは初心者向けの本を昔読んで、当時はなんだか難しいなぁって思ったけど、 GTK+に挑戦したくてもう一度読んでみたら大して難しくなかった。 配列、関数、ポインタ、構造体の使い方の基礎がわかってたらGTK+を扱える? この程度の知識で始めるのはなんか怖くて・・・。
344 名前:login:Penguin mailto:sage [2009/11/16(月) 17:21:51 ID:VCRzBqJE] GTK+なら、型が決まっているから、 ほんとに基本的な知識だけで十分だと思う。 マクロやプリプロセッサもよく使われているけど、 非常にシンプルなコンセプトだし、問題ないとおもう。
345 名前:login:Penguin mailto:sage [2009/11/16(月) 20:35:58 ID:gFc8JNPu] >>344 どうも! 今年中に始めよーっと!!
346 名前:login:Penguin mailto:sage [2009/11/16(月) 21:19:38 ID:tJXAF2DJ] もう「今年中」とかいうセリフが聞かれる時期になったか。
347 名前:犬山ぽち丸 mailto:sage [2009/11/19(木) 00:11:09 ID:CpUTPEU6] Perl でこんな感じのを書いてみました。 ttp://pochimaru.seesaa.net/article/132639898.html 次ページ移動ボタンをクリックする事で次ページを表示したいのですが、 このままでは期待するように動きません。 現時点の表示をクリアして次ページを表示するにはどうしたらいいのでしょうか?
348 名前:login:Penguin mailto:sage [2009/11/19(木) 05:10:52 ID:kHCd9OdN] # perlって聞いた時点で見る気なくした
349 名前:login:Penguin mailto:sage [2009/11/20(金) 14:06:49 ID:TNyOV+9k] DrawingAreaをAspectFrameで包むと上下左右に、 GNOMEでは1ピクセル、 Fluxboxでは2ピクセル隙間が開くんだが、なんとかならないものか
350 名前:349 mailto:sage [2009/11/20(金) 14:52:09 ID:TNyOV+9k] set_border_width(0)でもだめだった python-gtk2 2.16.0 python-glade2 2.16.0 gtk 2.18
351 名前:login:Penguin mailto:sage [2009/11/21(土) 12:33:26 ID:cf2l5sy0] gtk2.18.3をubuntu9.10でやっているんですが キーを押し続けている状態を知る事はできないんでしょうか? 今はkey-press-eventとkey-release-eventシグナルを使っているんですが キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて 押し続けている状態を知る事ができません。
352 名前:login:Penguin mailto:sage [2009/11/21(土) 15:35:08 ID:zEcsEEOn] key-pressのあとにkey-releaseがなければ押し続けていることになる
353 名前:login:Penguin mailto:sage [2009/11/22(日) 01:06:56 ID:EckaNW4z] >キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて 押しつづけているのにrelease-eventがくるとかキーボードぶっこわれてるんじゃね
354 名前:login:Penguin mailto:sage [2009/11/22(日) 08:57:13 ID:OlBHF5u9] >>351 Xのレベルではそれが通常の動作(モディファイアキー(の一部)以外では)。 Xはautorepeat時にKeyReleaseと続くKeyPressでタイムスタンプを同一にして 送ってくるので、GDKはそれを利用して>>352 のように見せるコードが 一応入ってはいる、が、環境や同時に利用するプログラムといった条件によっては それが働かないみたい。 自分の環境だけ考えるならGDKの該当部分に手を入れて常にその動作をするように してしまうのが簡単。そうでないならやはり同様に次のイベント (gdk_event_peekで得るのかな)とそのタイムスタンプを見て判断するんじゃないかと。
355 名前:login:Penguin mailto:sage [2009/11/22(日) 11:40:29 ID:xNfLAKy+] >>352 >>353 >>354 レスありがとうございます。 gdk_event_peekはnullが返ってきたのでダメでしたが gdk_event_getはタイムスタンプ同一のメッセージがしっかり返ってきました。 おかげさまで上手くいけそうです。
356 名前:login:Penguin mailto:sage [2009/11/22(日) 22:53:53 ID:LzN5AhP5] >>347 こんな感じでどうでしょう? 163a165,168 > my $currentObject = $scrolled_window->child; > if($currentObject) { > $currentObject->destroy; > } 204a210 > $drawable->show; 224a231 >
357 名前:犬山ぽち丸 mailto:sage [2009/11/26(木) 19:27:51 ID:bDLkSh53] >>356 動かしたいように動かす事が出来ました、ありがとうございます。 とても基本的なところで躓いてしまってたみたいで、お恥ずかしい限りです。
358 名前:login:Penguin mailto:sage [2009/11/27(金) 20:56:42 ID:w3OKtepz] GtkWidget ↑ ↑ GとWが大文字 これに気付くのに4日掛かった コンパイルが通って空のウィンドウが表示されたときは 雄叫び上げちゃったよ。
359 名前:login:Penguin mailto:sage [2009/11/27(金) 21:30:47 ID:RzRcFxle] www とりあえず、なんだ、おめでとう
360 名前:login:Penguin mailto:sage [2009/11/27(金) 21:51:12 ID:HBGtWPJy] Debianスレで GTK+ でウィンドウ出すのに四日かかったって言ってた人かw
361 名前:login:Penguin mailto:sage [2009/11/29(日) 00:46:08 ID:guffPLRY] おめでとう、マジで さぁ早くシグナルをコネクトしまくる作業に戻るんだ
362 名前:login:Penguin mailto:sage [2009/12/01(火) 22:14:30 ID:sy3qzyYB] >>361 ぬるぽっ!
363 名前:login:Penguin mailto:sage [2009/12/01(火) 22:23:34 ID:xoJE4V4A] >>362 ガッ って言ってほしいのね。 もぉ、寂しがり屋さんなんだからぁ。
364 名前:login:Penguin mailto:sage [2009/12/05(土) 20:49:17 ID:CO55p0ew] なんでこのスレ過疎ってんの? プログラマー不在のスレなの?
365 名前:login:Penguin mailto:sage [2009/12/05(土) 21:08:39 ID:Gmpm8vF/] >>364 そう思うならまず率先して何かを作って公開してみては如何でしょうか?
366 名前:login:Penguin mailto:sage [2009/12/06(日) 00:50:56 ID:fNpRY7Ok] 話題がないだけでしょ。
367 名前:login:Penguin mailto:sage [2009/12/07(月) 17:19:37 ID:CENTWTgC] 良くも悪くも枯れてるからな
368 名前:login:Penguin mailto:sage [2009/12/07(月) 20:01:28 ID:LkAo4E7O] gtk2hsで書いてみたけど思ったより使いやすかった
369 名前:login:Penguin mailto:sage [2009/12/13(日) 11:19:39 ID:naHBDIjP] gtkで外部装置から受信した温度データをグラフ描画するソフトつくってる。 左3/4が描画領域で残りに現在時刻や表示倍率の設定がある。 連続してデータ受信すると、時刻表示のタイマーがとまったり、倍率設定 のコンボボックスが操作できなくなるので、スレッド分けしようと思うのだけど expose_eventを別スレッドにすることって可能?
370 名前:login:Penguin mailto:sage [2009/12/13(日) 11:42:32 ID:P93DdDFa] できそうな気がするけど。 とりあえずやってみたら?
371 名前:login:Penguin [2009/12/16(水) 20:46:38 ID:laS/Dg3j] >>365 作る気になれるようなことが必要なのではないですか。
372 名前:login:Penguin mailto:sage [2009/12/16(水) 20:51:22 ID:dPFj9y5E] >>369 すごいですね 勉強のためにぜひソースを見せて頂けないでしょうか?
373 名前:login:Penguin mailto:sage [2009/12/16(水) 20:53:19 ID:dPFj9y5E] もしくは、ソースリストを公開しているwebページを ご存知でしたら教えてください。
374 名前:login:Penguin mailto:sage [2009/12/16(水) 20:54:06 ID:6soPE05o] ∧__∧ (´・ω・) いやどす ハ∨/^ヽ ノ::[三ノ :.、 i)、_;|*く; ノ |!: ::.".T~ ハ、___| """~""""""~"""~"""~"
375 名前:login:Penguin mailto:sage [2009/12/16(水) 21:47:42 ID:c63j0iz9] 受信を別スレッドでやるのが普通じゃないの
376 名前:login:Penguin mailto:sage [2009/12/16(水) 22:44:30 ID:Q8cS+VLW] ブロックする可能性のある処理は別スレッドにしないと止まる
377 名前:login:Penguin mailto:sage [2009/12/16(水) 23:39:53 ID:jaaomSx0] Exposeを別スレッドって、ぷっ。 さすがLinux。
378 名前:login:Penguin mailto:sage [2009/12/17(木) 02:29:15 ID:F8Jdsro2] 何がおかしいのかよくわからん。
379 名前:login:Penguin [2009/12/26(土) 01:54:27 ID:XiSC9KS7] GTK+の本を買おうと思うんですけど、この2冊だとどちらがいいですか? ・入門GTK+ ・Foundations of GTK+ Development プログラミングはCの基礎がわかっている程度です。 PHPもやってます。
380 名前:login:Penguin mailto:sage [2009/12/26(土) 13:18:25 ID:6MLS1ve1] 両方買えばいいじゃない。 あと、入門GTK+の方は作者がホームページで 本の内容を公開し始めてる
381 名前:login:Penguin mailto:sage [2009/12/26(土) 14:29:39 ID:YM2nDrzN] Foundations of GTK+ Development は一部 google books にでてる
382 名前:379 mailto:sage [2009/12/27(日) 00:54:04 ID:HfaPMpb7] >>380 両方買うと、結局一冊は読まないままになったりするタイプなので…。 あと、書籍代はケチるべきじゃないと思いますが、深刻な金欠状態なのです。 入門GTK+の作者サイトでの公開について、情報ありがとうございます。 休暇中に目を通してみようと思います。 >>381 Amazon USのレビューで「ネット上で読める」と書いてあったので、どこにあるのか気になってました。 書店になくて立ち読みできなかったので、Google Booksで読んで判断します。 どうもありがとうございました。
383 名前:login:Penguin mailto:sage [2009/12/27(日) 08:12:49 ID:Ri5kV8GM] GTK+は公式チュートリアルが結構充実している方だと思うので、 それ読めばとりあえずリファレンスとサンプル眺めつつ使えるようになる。 それでも本が欲しくなるならあるウィジェットの使い方を 詳しく書いていて欲しいだとかマルチスレッドとの兼ね合いが 知りたいだとか(あまりいい例が出てこなくてすまん) 求めるものがはっきりしてくると思うので、 それから本を選んでもいいんじゃないだろうか。
384 名前:379 mailto:sage [2009/12/27(日) 20:27:25 ID:HfaPMpb7] >>383 公式チュートリアルのことを知りませんでした…。 ダウンロードできたので、スマートフォン等にコピーして移動中でも読めそうです! プリントアウトして持ち歩くのもいいかもしれません。 最終更新日が2002年10月27日と古いんですけど、問題ないですよね? 書籍を買ったほうが最後まで読みつづけようという意欲が持てる気がしますが、 とりあえず公式チュートリアルを読もうと思います。 ちなみに「Foundations of GTK+ Development」はGoogle Booksで見てみたら とても良さそうでした。 「入門GTK+」のほうは著者ページで見つからなかったです・・。
385 名前:login:Penguin mailto:sage [2009/12/28(月) 02:58:56 ID:CtQUEG8Y] > 最終更新日が2002年10月27日と古いんですけど、問題ないですよね? ……? 公式チュートリアルは www.gtk.org/documentation.html でズバリ The Official Tutorial といってる library.gnome.org/devel/gtk-tutorial/stable/ だよ。 GTK+のソースコードのtarball中にも入ってる(docs/tutorial/以下)。
386 名前:login:Penguin mailto:sage [2009/12/28(月) 07:38:54 ID:RlHoBGgo] >>385 Tutorial Availabilityのページにあるリンク(ftp://ftp.gtk.org/pub/gtk/tutorial)から ダウンロードしました。
387 名前:login:Penguin mailto:sage [2009/12/28(月) 11:47:38 ID:T0tfWrHc] 自分でいいと思ったならそれ読め。もう知らん。
388 名前:login:Penguin mailto:sage [2009/12/28(月) 22:21:50 ID:Uh78zlUy] そう言うな。明日になればまたみんな仲良しななしさん
389 名前:login:Penguin mailto:sage [2009/12/28(月) 22:55:34 ID:AK9LsQvN] >>387 何?どうしたの?
390 名前:login:Penguin mailto:sage [2010/01/09(土) 18:48:59 ID:khh4I0eb] 今日からGTK+を始めてみた 今までwindowsのvisual stdioしか使ったことなかったから、パスさえ通ってりゃ #g++ hello.cpp だけでコンパイルをやってくれると思っていた 今日一日かかって`pkg-config --cflags --libs gtk+-2.0`を知って ウィンドウを出せた 疲れた
391 名前:login:Penguin mailto:sage [2010/01/10(日) 13:16:43 ID:3oa4ldyN] VisualStudioだってオプションからディレクトリの設定しなきゃ ビルドすらままならないだろうに、何言ってんだコイツ ましてやコマンドラインからCL.exe呼び出すんなら、vcvarsall.batなり vcvarsall.batで設定される環境変数群を、予めユーザー環境変数に定義して おかなければCL.exeもg++と同じエラー吐いて止まるだろうに・・・
392 名前:login:Penguin mailto:sage [2010/01/10(日) 14:58:37 ID:zlmG+3hJ] pixmapの背景色を黒くしたキャンバスを作って その上に画像と文字を描画してて、文字は白 これに対してニコ動のコメント表示/非表示みたいなことをやりたい 文字を描画するときのみXORモードで書いてるんだけど 背景の黒の上に書かれた物は消えるけど、画像の上に書かれた 物は黒抜き去れて残ってしまう 説明わかりにくいかも知れないけど、なんか良い方法無いかな
393 名前:login:Penguin mailto:sage [2010/01/13(水) 03:10:04 ID:hKXsU3qa] 文字を描画しないだけでいいんじゃないの?
394 名前:login:Penguin mailto:sage [2010/01/13(水) 13:45:44 ID:rT8A3kXe] >>390 チュートリアルとか見てないの?
395 名前:login:Penguin mailto:sage [2010/01/14(木) 01:41:29 ID:2htHqmwQ] 空気の福田はともかく、徳井が苦手でねぇ…
396 名前:login:Penguin mailto:sage [2010/01/15(金) 10:31:57 ID:2tKD4R7l] GTK+を使って記述されているソフトとしては gimp以外だとどんなものがありますか? ソースリストを読んで勉強したいのですが
397 名前:login:Penguin mailto:sage [2010/01/15(金) 11:34:43 ID:+6ILVUJ5] >>396 ja.wikipedia.org/wiki/GTK%2B#GTK.2B2.E3.82.92.E5.88.A9.E7.94.A8.E3.81.97.E3.81.9F.E3.82.BD.E3.83.95.E3.83.88.E3.82.A6.E3.82.A7.E3.82.A2 www.gtk.org/screenshots.html
398 名前:login:Penguin mailto:sage [2010/01/16(土) 13:06:47 ID:st13uJnk] 2chブラウザのJDとか、画像ヴューアのgqviewとか。
399 名前:login:Penguin mailto:sage [2010/01/23(土) 07:49:03 ID:c81zxfOz] ツールバーにウィンドを表示しないようにするにはどうすればいいの?
400 名前:login:Penguin [2010/01/26(火) 09:24:59 ID:WUy9SOAf] linux 初心者です。C言語はバリバリです(ウィンドウズで)最近、fedora12 に乗り換え、システムを移植中なんですが、 ウィンドウ関連のところで、GTK+なるものが必要とのこと。そこで、インストールしましたが、 実際のソースコードをコンパイルしてもエラーがでます。 勉強不足の所をご指摘いただけないでしょうか? gtk+ インストール yum -y install gtk+ でインストールしました。 800KBぐらいだったと思います。 そこで、次のコードを emacs でコンパイルします。 #include <gtk/gtk.h> int main( int argc, char *argv[] ) { GtkWidget *window; gtk_init( &argc, &argv[] ); window = gtk_winidow_new( GTK_WINDOW_TOPLEVEL ); gtk_widget_show( window ); gtk_main(); return 0; } すると、error : gtk/gtk.h: そのようなファイルやディレクトリはありません。 その他これに関連するエラーがでます。 gtk/gtk.h が無いのか、と思って、 もう一度 gtk+ をインストールしようとすると、 gtk+-1.2.10-69.fc12.i686 はインストール済みか最新バージョンです 何もしません とでます。 ...よろしくお願いします。
401 名前:login:Penguin mailto:sage [2010/01/26(火) 11:26:21 ID:TXiGdVqu] チュートリアルどおりやれば躓かないとおもうんだけどな gtk2, gtk2-develを入れて gcc test.c -o test `pkg-config --cflags --libs gtk+-2.0`
402 名前:login:Penguin [2010/01/26(火) 16:11:56 ID:R1nywYDP] >> 401 遅くなりましてすいません。返信ありがとうございます。 うまくいきました。 ウィンドウが表示されたとき、感動しました。 でも、emacs からはコンパイルできませんでしたので、リンカーあたりの 設定かな?と思っています。 何はともあれ、ありがとうございました。
403 名前:login:Penguin [2010/01/26(火) 16:57:00 ID:R1nywYDP] またまたお願いいたします。 linuxにおいて、 windowsの SetCursorPos() GetCursorPos() に相当するものはありますか? 参考リファレンスなど紹介してもらえれば助かります。
404 名前:login:Penguin mailto:sage [2010/01/26(火) 17:26:41 ID:Up0ueX3p] >>403 ttp://library.gnome.org/devel/gtk-tutorial/stable/
405 名前:login:Penguin [2010/01/26(火) 18:04:33 ID:R1nywYDP] >>404 返信ありがとうございます。 ...勉強します。
406 名前:login:Penguin mailto:sage [2010/01/26(火) 18:11:45 ID:OKgnAGh0] >>402 pkg-configコマンドが何なのか調べるんだ。
407 名前:login:Penguin [2010/01/28(木) 14:40:04 ID:YXchBGq5] はじめまして。GTK初心者です。 困っていることがあります。 gtk_init()でハングするんです。 1. gtk_init()を手動でコール出来るようプログラミングし、rc.localでそのプログラムを起動。 2. xwindow(gnome)ログイン後にgtk_init()をコールさせる。 上記の2の時点でgtk_init()でハングしているらしいです。 (gtk_init()下行のログが出力されない) 原因や対処法をご存知の方いらっしゃいませんか?
408 名前:login:Penguin mailto:sage [2010/01/28(木) 18:04:22 ID:VFHNmy96] >>407 突っ込みどころが3点ほど。 ・rc.localに登録して起動し、さらにログインした後にも起動・・・? ・gtk_init()だけ実行するプログラムを作ったの? だとしたら壮大な勘違いをしている。gtk_init()関数が何をする関数なのか調べるんだ。 ・「ログ」とは何のログ?ハングしているらしい、では分からないのでソースをUPするんだ。
409 名前:login:Penguin mailto:sage [2010/01/28(木) 18:34:10 ID:YXchBGq5] >>408 ありがとうございます。すみません、説明不足でした。 ちょっとソースは長いので文書のみで失礼します。 プログラムは、rc.localで起動した時点ではgtk_init()をコールしない作りにしてます。 その後、ログイン後にコンソールから別プログラムを通してプロセス間通信によりコマンドを送信、 そしてコマンドを受信した時点で gtk_init()をコールさせる形にしてました。 ログは、 printf("call gtk_init\n"); gtk_init(); printf("call end\n"); ★ のようにして、★が出力されない感じです。 その後の調査で、どうやら rc.local起動させた場合、環境変数 DISPLAYなどが 全く設定されていないようです。 そこら辺に問題有りかと思っているのですが、なにぶん、勉強不足でして。 時間も無いので質問させて貰った次第です。
410 名前:login:Penguin mailto:sage [2010/01/28(木) 18:40:22 ID:A3FmJC2O] DISPLAYも何も、Xの起動はrc.localより後なんだぜ? プログラム分けるんじゃ駄目なんかい
411 名前:login:Penguin mailto:sage [2010/01/28(木) 18:44:27 ID:0EFvnz24] 時間も無いので 時間も無いので 時間も無いので 時間も無いので 時間も無いので
412 名前:login:Penguin mailto:sage [2010/01/28(木) 19:24:50 ID:bFXQct0B] >>409 「GTK初心者」と言うよりLinux&プログラミング初心者のようですね。 貴方にGTKはまだ早いです。環境変数やXの基本が理解できていないと 説明されても分からないと思いますので出直してきて下さい。
413 名前:login:Penguin mailto:sage [2010/01/28(木) 19:30:37 ID:uG/wS28i] お金も無いよ お金も無いよ お金も無いよ
414 名前:login:Penguin mailto:sage [2010/01/28(木) 19:32:04 ID:YXchBGq5] >>410 ありがとうございます。 inittabで初期化レベルを分けていることもあり、 てっきりrc.local前に起動処理が走っているかと勘違いしていました。 お恥ずかしい。 >>412 おっしゃるとおりです。 出直してきます。
415 名前:login:Penguin mailto:sage [2010/01/28(木) 21:55:00 ID:WU2RMXov] >>414 DISPLAYが設定されてなくて、Widget使わないなら、 GObject関係を使うためだけなら、g_type_init ()すれば良いよ。 有名なエラーが出るからgtk_init()使ったってエスパーしてみた。
416 名前:login:Penguin [2010/02/07(日) 16:35:02 ID:jjKybwb6] 書籍「入門GTK+」のP31のプログラムを打ち込み、何度も確認したのですが、どうしても下記のエラーが出てしまいます。 何が間違っているのか、ご教示願います。 gtk-sample.c: In function ‘create_menu’: gtk-sample.c:64: error: ‘acitons’ undeclared (first use in this function) gtk-sample.c:64: error: (Each undeclared identifier is reported only once gtk-sample.c:64: error: for each function it appears in.) gtk_action_group_add_actionsの値でエラーが出るようです。関係する記述を確認しましたが問題ありません…
417 名前:login:Penguin mailto:sage [2010/02/07(日) 17:08:07 ID:KhA+E7Mu] エラーメッセージを読んでみましょう acitonsが宣言されていませんよ actionsと間違えていませんか?
418 名前:login:Penguin [2010/02/07(日) 17:18:05 ID:jjKybwb6] >417さん ごめんなさい、本当に気づきませんでした。エラー文を読んでいたのに…ありがとうございました
419 名前:login:Penguin mailto:sage [2010/02/09(火) 01:35:25 ID:gRID6Pu9] ググれ秀才
420 名前:login:Penguin mailto:sage [2010/02/10(水) 20:29:31 ID:y7MwWf/g] gtkmmをこれからやってみようと思ってるけど、 入門GTK+を読みながらC言語で練習するより 最初からgtkmmでC++使ったほうがいい? gtkmmの入門書がないみたいなので、 取っかかりとして入門GTK+を候補にしてるんだけど…。
421 名前:login:Penguin mailto:sage [2010/02/11(木) 13:48:24 ID:AIMyey0J] >>420 最終的にC++で書くのが目的なら、↓みたいなところがあるからC++で書けばいいんじゃない。 gtkまわりの日本語の情報が少ないから、言語は違うけどたまに参考にさせてもらってるよ。 book.geocities.jp/gtkmm_ja/docs/tutorial/html/index.html
422 名前:login:Penguin mailto:sage [2010/02/12(金) 15:44:26 ID:DJstgHYM] >>421 そのサイト見てみます。 ありがとう。
423 名前:login:Penguin [2010/02/17(水) 19:33:47 ID:Ozbv3EUx] GTK+ 1.2 で作った古いツールを 2.0 で動くように手直ししてるんですが、とりあえず Makefile の中で # GTK+ 1.2 CFLAGS = `gtk-config --cflags` LIBS = `gtk-config --libs` # GTK+ 2.0 CFLAGS = `pkg-config --cflags gtk+-2.0` -DGTK_ENABLE_BROKEN -DGTK_WINDOW_DIALOG=GTK_WINDOW_TOPLEVEL LIBS = `pkg-config --libs gtk+-2.0` てな感じでお茶を濁して動かしているんですが、ソースを全面的に 2.0 対応するコストって どれほどでしょうか? 150本ほどのちまちましたツールがあって、2.0 で起こしたツールが2割程度、後の8割は、 前記のとりあえずリビルドです。
424 名前:login:Penguin mailto:sage [2010/02/17(水) 19:42:41 ID:TkV44uU+] 1.2のランタイムぐらい入っててもいんでない?
425 名前:login:Penguin mailto:sage [2010/02/21(日) 14:06:19 ID:pTXZtDIq] ちょっと自前で描画しようとすると、gdkとcairoが混在していて 煩雑としてるなぁ。 少なくともGDKの描画関連のAPIはもういらないだろう。 3.0辺りでばっさり消すとかしてもいいんじゃないか。
426 名前:login:Penguin mailto:sage [2010/03/11(木) 00:46:30 ID:Vm2wsjJM] GTK(+glade)を使ったあるプログラムを ・HP-UXサーバ ・RedHat Linuxサーバ でそれぞれコンパイルおよび動作させ、 別のLinux端末に表示させたところ、 表示や動作自体は問題無いんだけども、 エディットボックスへの入力で RedHat Linuxの方は日本語入力を受け付けてくれません。 ちなみに、それぞれに入っているGTKはともに1.2です。 SCIMとかの環境は、一見同じっぽいですが・・・・ どこか見るべき箇所はあるでしょうか? ちなみに、glade自体も HP-UXは日本語入力を受け付けてLinuxサーバの方は 日本語入力を受け付けてくれません。 gladeの問題なんですかねぇ・・・?
427 名前:login:Penguin [2010/03/12(金) 16:52:20 ID:sdgtdQtC] Gtk::Dialogの派生クラスを作成してある条件の時表示させています。 表示後一定期間経過したら自動的にそのダイアログを閉じたいのですが、 どうすればいいのでしょうか。 特にダイアログにこだわっているわけではありません。 何かメッセージを表示 -> 一定時間後に自動的に消去 が実現できればいいです。 よろしくお願いします。
428 名前:login:Penguin mailto:sage [2010/03/12(金) 19:39:46 ID:37m6gC+E] >>427 g_timeout_add関数ではだめでしょうか?
429 名前:login:Penguin mailto:sage [2010/03/12(金) 19:41:48 ID:WSSuZVVD] >>428 そこはらめぇーーーー
430 名前:login:Penguin mailto:sage [2010/03/16(火) 23:40:15 ID:u16nCOLZ] gtk_widget_drawを呼ぶとたまにアプリが落ちる 調べたらgtk2では非推奨になってた かわりにgdk_window_invalidate_rect使えって書いてあったから それ使うようにしたら、exposeイベントハンドラに入ったり入らなかったりするようになった
431 名前:login:Penguin mailto:sage [2010/03/19(金) 03:10:05 ID:pTXFbkuH] Xawで作られたソフトのWidgetをGnomeテーマのスキンっぽく 変える方法ってありますか?Xaw3dみたいな
432 名前:login:Penguin mailto:sage [2010/03/22(月) 18:34:33 ID:gITq0f63] >>427 作ってみた。たぶん、427はここを見てないだろうけど #include <gtk/gtk.h> gboolean timeout(gpointer data){ gtk_dialog_response( GTK_DIALOG(data), GTK_RESPONSE_ACCEPT ); return FALSE; }; int main (int argc, char **argv){ guint tag; GtkWidget *dialog; gtk_init (&argc, &argv); dialog = gtk_dialog_new_with_buttons ("My dialog", NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog); tag = g_timeout_add_seconds( 2, timeout, dialog ); gtk_widget_show_all (dialog); gtk_dialog_run(GTK_DIALOG(dialog)); g_source_remove(tag); return 0; }
433 名前:login:Penguin [2010/05/01(土) 02:23:02 ID:ZoBub0ZC] あるデータファイルをどんどん読んで処理しながら、1秒に1回その途中経過を Windowに表示する、みたいなプログラムを書こうとしています。 Windowに表示する部分は、gtk_main()を呼ぶ前に、g_timeout_add(1000, draw, NULL) のようにしてタイムアウト関数を使えばいいとして、データファイルを読み込んで 処理する部分は、どこに書けばいいのでしょうか? スレッドとかを使わずにやりたいのですが。
434 名前:login:Penguin mailto:sage [2010/05/01(土) 18:51:28 ID:lTmE6Ym2] g_io_add_watchとか?
435 名前:login:Penguin [2010/05/01(土) 21:52:51 ID:5eA3cNHe] LinuxでGTK+やってる人はWindowsでも主にGTK+で書いてる? WindowsのAPIは使いませんって人いるのかな。