- 1 名前:login:Penguin [2001/07/22(日) 22:31]
- 俺の様な厨房プログラマーをある程度使えるようにまで育成して、和製糞ソフトを
大量量産するのが目的のスレッドです。 とりあえずGNOMEプログラミング(小学館)を買ってきました。 これから読んでみます。
- 61 名前:login:Penguin [02/01/09 22:23 ID:3VMMyjI/]
- anjutaは使えるIDEなの?他にIDEはないの?
- 62 名前:login:Penguin mailto:sage [02/01/09 23:01 ID:uRF3TBC8]
- >>59
Kdevelopって使いやすいの? Visual Studioとか仕事で使うけど、どうしてもGradeのほうが 使えると思ってしまう。 Visual StudioのLinux版よりGradeのWindows版が欲しいな そうすればかなり楽できるのに(^.^)
- 63 名前:login:Penguin [02/01/10 00:20 ID:3FZlj9zd]
- >>62
Gladeのtypoだろ? 漏れはKDevelopの方がスキだけどな。 しかも、Visual Studioはもっとスキだ。 Linux使うようになってからもVisual Studioのコード補完機能だけは譲れずに、 Visual StudioだけのためにWindows起動することもある。 ま、KDevelopはあからさまにVisual Studioのクローンだから Glade好きには合わないかもな。 KDevelop3.0ではコード補完が実装されるべく、現在奮闘中なのでそれに期待するよ。
- 64 名前:login:Penguin mailto:sage [02/01/10 00:29 ID:fjjH265S]
- >>63
>KDevelop3.0ではコード補完が実装されるべく、現在奮闘中なのでそれに期待するよ。 いいこと聞いた。 それって漏れみたいなLinuxでプログラミング始めようかなって層にはとっつきやすそう に感じるのだけど。 トーシロも期待して待ってよかですか?
- 65 名前:login:Penguin mailto:sage [02/01/10 00:47 ID:3FZlj9zd]
- >>64
いいんじゃないの? 漏れも大いに期待してるし。 emacsもいいけど、コード補完ができるのってかなり魅力的だしな。 正直、コード補完さえできればどんなエディタだっていいよ。 ただ、まだ開発段階であんまりうまくいってないみたいよ。 Qtのsignal/slot機構があるから既存のParserではダメらしい。 コード補完ができるようになるのはもう少し先の話かも。
- 66 名前:64 mailto:sage [02/01/10 00:56 ID:fjjH265S]
- なるほどサンクス。
いろいろ調べてみます。
- 67 名前:名無しさん@Emacs21 mailto:sage [02/01/12 22:48 ID:qnsysu3Y]
- Visual Studioとはちょっと違いますがanjutaは関数のパラメータ
表示はできます。 あと、EmacsでJDE使えばまあコード補完にほぼいっしょのことは できます。 GNOME使ってるのでKDEのことは知りませんがKDevelopはなんか よさげですなー。
- 68 名前:login:Penguin mailto:age [02/01/27 19:48 ID:HLJxu36x]
- 空揚げ
- 69 名前:login:Penguin mailto:sage [02/01/27 19:49 ID:5ITICSPO]
- >>68
うまい!
- 70 名前:login:Penguin [02/03/06 19:36 ID:AZIsXcCu]
- あ
- 71 名前:login:Penguin mailto:sage [02/03/11 00:28 ID:FmLWb+7S]
- GTK、2.0がstableでリリース?
www.gtk.org/download/
- 72 名前:login:Penguin [02/03/11 00:30 ID:FmLWb+7S]
- ageわすれ
- 73 名前:login:Penguin [02/03/29 11:10 ID:F0DgSbr9]
- 愛あるage
- 74 名前:神 mailto:age [02/03/30 07:03 ID:DuAItk01]
- 神の声「うまー」
- 75 名前:login:Penguin mailto:sage [02/03/31 01:34 ID:NpQA8gR5]
- gtkはデザインがダサいからキライ
- 76 名前:login:Penguin mailto:sage [02/03/31 02:03 ID:TkOBS2wq]
- >>75
どういう意味の「デザイン」?
- 77 名前:login:Penguin mailto:sage [02/03/31 15:16 ID:NpQA8gR5]
- >>76
ごめんプログラム板でその単語は注意するべきだった 単に見た目の話(w 低レベルでスマソsage
- 78 名前:login:Penguin mailto:sage [02/03/31 15:22 ID:NpQA8gR5]
- ちなみに
テーマで変更できるのは知ってるけどディフォルトのデザインが ださいしカスタム作るの面倒だから 気にする人あんまり多くないのかもしれないけどね
- 79 名前:login:Penguin mailto:sage [02/07/13 05:58 ID:q2+XoCQE]
- 保守sage
- 80 名前:login:Penguin mailto:sage [02/07/31 20:50 ID:SAMq0uYI]
- さらに保全sage
- 81 名前:login:Penguin mailto:sage [02/08/01 16:14 ID:ZgkCZ7ws]
- g_threadの使い方がわからん。
g_thread_init()は必須ですか? というか、Gtk+でスレッドやるならGlibのスレッドのほうがいいのですか? pthreadですか?教えてください。
- 82 名前:login:Penguin [02/08/08 00:16 ID:VbBFNw1l]
- gtk で作ったプログラムって Xt の Widget と共存出来ないんでしょうか?
Qt には(昔いじった記憶では)Xt の Widget を埋め込むサンプルが確かあったの ですが、gtk は web を探しても見付からないです。 どなたかご存知の方がいらっしゃいましたら教えて下さい。
- 83 名前:82 mailto:sage [02/08/08 00:37 ID:VbBFNw1l]
- 一応mozillaの中に gtkxtbin なるものを発見はしたんですが、
View Source しても殆ど使われていないらしくって使い方が良く分かりませぬ…
- 84 名前:login:Penguin mailto:sage [02/08/08 02:04 ID:75koLqWb]
- system("startx");
- 85 名前:login:Penguin mailto:sage [02/09/24 02:57 ID:zHWB0hgh]
- C++になれていると、Gtk+の継承はかなりめんどい気がしてくるな。
そもそもCでオブジェクト指向やろうって発想がすごいが・・・ というわけでGtkmmもやり始めたんだけど、どっちがいいのかねえ。
- 86 名前:login:Penguin mailto:age [02/09/29 02:48 ID:eHgtOed6]
- GTKもっとみんなに使ってほしいからageる
- 87 名前:login:Penguin mailto:age [02/09/29 02:54 ID:eHgtOed6]
- 継承をする場合(独自のウィジェットを書く場合)、
ウィジェットの構造体はクラスにしても良いようだ。 Gtk+の継承は構造体の最初のフィールドをGtkWidgetにすることにより キャスティングの多用でそれっぽいことができるようになっているが、 これはclass hoge:public GtkWidget と書いてC++による 「本物の」継承をさせてもうまくいくことがわかった。 最初のフィールドが同じなんだから当然といえば当然だが。
- 88 名前:login:Penguin mailto:age [02/09/29 02:58 ID:eHgtOed6]
- オーバーライドはxxx_class_init()のような関数内で行える。
肝心のメンバ関数は次のように書けば良い。 static void xxx_init(GtkXXX *newwidget) { GTK_WIDGET_SET_FLAGS(newwidget, GTK_CAN_FOCUS); newwidget->Init(); }void GtkXXX::Init(){ //ここからインスタンス固有フィールド //わざわざキャスティングしなくてもメンバ変数がそのまま書ける }
- 89 名前:login:Penguin mailto:age [02/09/29 03:05 ID:eHgtOed6]
- Gtkmmは、標準では入ってないディストリがほとんどなので使うのをためらってしまう。
Gtk+のバージョン2も同様。まだ使う気にはなれない。 1.2.xのみでC++のオブジェクト指向がほぼそのまま使えることがわかったため 自分としてはかなり使いたくなってきた。というわけでスレをあげてみた。
- 90 名前:login:Penguin mailto:sage [02/09/29 15:59 ID:4p6DQ8aZ]
- OOPやりたいんなら素直にC++使えばいいじゃん。
Cで無理にOOPやろうとするところが解せない。
- 91 名前:login:Penguin mailto:sage [02/09/29 16:20 ID:fE3HHMZQ]
- で、C++ 使うんなら素直に Qt 使えばいいじゃん。
となる罠。
- 92 名前:login:Penguin [02/09/29 22:53 ID:3o1IzYa7]
- C++は言語仕様がfatすぎてどうも...
Cくらいのシンプルさがちょうどいいナリ。 GTKの設計思想はイイとこ突いてると思う。
- 93 名前:スレタイ mailto:sage [02/09/29 23:39 ID:w4WxNaS7]
- s/GTK/GTK+/
- 94 名前:login:Penguin mailto:sage [02/09/30 00:17 ID:OLKvT8Xh]
- >>92
そっかなぁ? GTK+みたいにでかくなるとCではちょっと持て余し気味じゃない? Qtはかなりスマートだと思うけど。
- 95 名前:login:Penguin mailto:sage [02/09/30 01:19 ID:BdR/p6Dn]
- Qtは、mocを使うのがイマイチ気に入らん。
GTK+は日付バージョンの時代から使ってるのでなんとなく今も使ってる。
- 96 名前:login:Penguin mailto:sage [02/09/30 01:20 ID:B0DOm7W8]
- ruby/gtkでバイナリまで作れたらいいのに…
- 97 名前:login:Penguin mailto:sage [02/09/30 01:28 ID:gFORtcVB]
- GCode
gcode.sourceforge.net/ GCode is a GTK+ C++ Object Development Environment for the GTK+ 2.0 library. だそうな。
- 98 名前:おむこさん志望 ◆GqCwfDSA mailto:sage [02/09/30 02:10 ID:R33exTlJ]
- m17n.orgで多言語処理ライブラリを作ってるらすぃ
www.ipa.go.jp/NBP/13nendo/reports/infotech/m17nlib/m17nlib.pdf 現物を見たことがないので理解が間違っとるかもしれんが、これが本当にGtk+に 組み込まれたらUnicodeに頼らないCSIなm17n環境が実現できるってこと? 誰か詳しいひとはフォローおながいしまつ。
- 99 名前:login:Penguin [02/11/11 20:56 ID:gMGsLKZV]
- GTK+もあまり使われてないんですかね・・・
- 100 名前:login:Penguin mailto:sage [02/11/11 21:42 ID:vgJymunl]
- GCode の名前がIntiに変わった模様。
しっかし gtkmm とどっちを使うべきか迷うよな。 こーゆーあんま違わない分岐は正直困る。 全然違うんなら「選択出来て良い」と言えなくもないけどさぁ。
- 101 名前:login:Penguin mailto:sage [02/11/11 23:03 ID:d9jtMLp4]
- >>95 moc が嫌いっていうけど、じゃあ libsigc はいいの?
- 102 名前:login:Penguin mailto:sage [02/11/12 01:02 ID:XwN1vX/q]
- >>91
gtk-- と書いてみるテスト
- 103 名前:仕様書無しさん mailto:age! kara-age [02/11/28 21:01 ID:efkqpcj6]
- とりあえず、参考のためのURLを貼っておきます。
がんばれ!>1さん。(そういえば、最近見ないな) Gtk+関係 ttp://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja.html ttp://www.gnome.gr.jp/docs/gtk+-1.2.x-refs/gtk/ ttp://www.gnome.gr.jp/docs/gtk%2Bfaq.20020824.html Imlib関係 ttp://docsrv.caldera.com:8457/en/ImlibRef/ 画像ビューアを作っちゃおう ttp://www.geocities.co.jp/SiliconValley-Cupertino/4084/Cprogram/viewer2/
- 104 名前:仕様書無しさん mailto:sage [02/12/03 12:58 ID:htGqbcIp]
- ここ、あんまり人が来ないみたいだから…。
とりあえず、自分用のメモ。 Gtk+プログラムをコンパイル/リンクするためには。 gcc `gtk-config --cflags` -c file名 ←コンパイル gcc `gtk-config --libs` file名 ←リンク
- 105 名前:仕様書無しさん mailto:sage [02/12/03 14:00 ID:htGqbcIp]
- Imlibを使用した場合のコンパイル/リンク方法
gcc `imlib-config --cflags` -c file名 ←コンパイル gcc `imlib-config --libs` file名 ←リンク
- 106 名前:login:Penguin mailto:sage [02/12/03 18:41 ID:an39zP9M]
- gtk-2.0 以降だったら
pkg-config にしる!
- 107 名前:仕様書無しさん mailto:sage [02/12/03 19:46 ID:htGqbcIp]
- >106 thx! ここ、見ている方がいるんですね。
>104 はgtk-1.xに摘要っと。 gtk-2.0 以降だったら gcc `pkg-config --cflags gtk+-2.0` -c file名 ←コンパイル gcc `pkg-config --libs gtk+-2.0` file名 ←リンク
- 108 名前:login:Penguin mailto:sage [02/12/05 19:46 ID:lirUEjaW]
- >> 103
Larseさんとこは外しちゃ駄目でしょう。 ttp://larse-gtk.hp.infoseek.co.jp/gtk.html
- 109 名前:仕様書無しさん mailto:sage、sageったらsage [02/12/06 12:34 ID:5SAieeJI]
- >108 thx!
>107の続き [1] makeファイルとは Makefileというのは、ソースファイルから実行可能ファイルを 作成する手順を記述したものです。実際に、ソースファイルか ら実行可能ファイルを作成するためにはmakeコマンド(MS社 のコンパイラ系ではnmakeコマンド)を実行します。
- 110 名前:仕様書無しさん mailto:sage、sageったらsage [02/12/06 12:36 ID:5SAieeJI]
- >109の続き
コマンドの実行によって、オブジェクトファイルとソースファ イルの比較が行われます。もし、ソースファイルの方が新しけ ればコンパイルが行われます。そうでなければ、何もしません。 makeファイルを作成する事により、ソースファイルと実行 可能ファイルの関係および保守・管理を容易にすることができ るようになります。 コマンドの形式は make −f makeファイル名 となります。ただし、makeファイルの名前がmakefileであ るときは、上記コマンドの−f以下は省略可能です。
- 111 名前:おむこさん志望 ◆QtGqCwfDSA mailto:sage [02/12/06 17:21 ID:aWU0cpft]
- Gtk+ の話じゃないじゃん(w
gcc, make, gdb, gprof などの使いかたを一通りさらっと見るなら www.amazon.co.jp/exec/obidos/ASIN/4900900206/qid=1039162770/sr=1-5/ref=sr_1_2_5/249-2045410-9958747 がいいよ
- 112 名前:login:Penguin mailto:sage [02/12/06 18:28 ID:5wmq/hiL]
- >>111 今だとちょっと古いかも。
GNUツールなら ttp://www.sra.co.jp/public/sra/product/wingnut/ とか ttp://www.sra.co.jp/public/sra/product/wingnut/gnu-links.html のリンク先とかだと日本語対応になっているよ。 読み易いとは限らんけどね。
- 113 名前:名無しさん@XEmacs mailto:sage [02/12/06 18:33 ID:+MeggbtK]
- GTK+ Programming するなら automake、autoconf 使いましょう!!
簡単な使い方の説明がたしか Larse さんのところ(>>108参照)にあったよね?
- 114 名前:login:Penguin mailto:sage [02/12/06 18:56 ID:5wmq/hiL]
- >>113
> GTK+ Programming するなら automake、autoconf 使いましょう!! 最近バージョンアップが激しいので、できればam-1.5 ac-2.13を使いませう。 今日、ac-2.57 am-1.7.2まであがりますた。ほとんどの.m4ファイルが 撃沈されますた。
- 115 名前:login:Penguin mailto:sage [02/12/06 22:23 ID:m6HOswTF]
- automakeとかautoconfとか、書式がちょっと変態的だと思う。いや、使ってるけどさ。
- 116 名前:login:Penguin mailto:sage [02/12/06 22:34 ID:5wmq/hiL]
- >>115
確かに、confgure.in(ac)のマクロとシェルスクリプトの混在状態は 変態的だね。Makefile.amはまだマトモだけどさ。 自分でhoge.m4を作っておいてconfigure.inはほとんどマクロだけに するとかしたほうがいいのかな?何とかすっきりさせたいんだけどね。 UNIX板のすれは死んでいる状態だけど、やっぱりすれ違いかな?
- 117 名前:login:Penguin mailto:sage [02/12/06 23:06 ID:m6HOswTF]
- >116
bin_PROGRAMS=hoge hoge_SOURCES= main.c みたいなMakefile.amの書き方も俺は気持ち悪いと思うんだけど、そこらへん はどう思う? なんで区切が_なんだよ。未だになじめない。 そろそろスレ違いっぽくなってきてるような気がするので最後にGTK情報を。 GTK+ 2.1.3がリリースされてる。
- 118 名前:冗談だよ mailto:sage [02/12/06 23:20 ID:5wmq/hiL]
- >>117
> なんで区切が_なんだよ。未だになじめない。 GTK+の関数やマクロは、ほとんど _ がデリミタになっているから気にしない。
- 119 名前:login:Penguin mailto:sage [02/12/06 23:30 ID:m6HOswTF]
- >>118
GTK+の関数とかは、向こうが用意してくれてるじゃん。自分が定義したhogeが hoge_SOURCESみたいな感じで_でつながってる!って感じがなんか気持ちわるい んだ。 そう、俺の中では_は完全に区切ってる感じじゃなくて、区切りつつもつなが ってる感じなんよ。ここらへんの感覚は、やっぱり人によって違うんだろうなぁ。
- 120 名前:login:Penguin mailto:sage [02/12/06 23:39 ID:5wmq/hiL]
- 名前のところを見て欲しいが、、、>>119
確かに SOURCES プライマリは気に入らないですね。 それ以外はインストールされるディレクトリ名と割り切ってしまえば、 そんなでもないですけど。 # 他にも例外あったっけ?
- 121 名前:login:Penguin mailto:sage [02/12/07 00:17 ID:yjJ1LM9Y]
- >>120
とりあえず、hoge_LDADDってのがあるね。hoge_LDADD = @GTK_LIBS@みたい な感じで使う。 まぁ、定型的に使う分には、割切ってしまえばそんなに気にはならないと いえば、そうなんですけどね。
- 122 名前:120 mailto:sage [02/12/07 10:07 ID:Of8FLFRv]
- ということでまとめ、am-1.7環境でMakefile.amで変態的なプライマリは、
SOURCES AR LIBADD LDADD LDFLAGS LINK CCASFLAGS CFLAGS CPPFLAGS CXXFLAGS FFLAGS GCJFLAGS LFAGS OBJCFLAGS RFLAGS YFLAGS DEPENDENCIES SHORTNAME に決定されました。結構いっぱいありますね。
- 123 名前:login:Penguin mailto:sage [02/12/07 20:20 ID:yjJ1LM9Y]
- 120さん乙ー
- 124 名前:login:Penguin [02/12/10 17:16 ID:m9e/PYr1]
- 良スレage
- 125 名前:login:Penguin mailto:mage [02/12/23 19:31 ID:1cqFxvzz]
- GTK+2.2 リリースage。
ところで、みなさんはGTK+1.2とGTK+2.x、どっちを使ってますか?またその理由は? ちなみに俺はGTK+2.xの方を使ってます。1.2より速いし、immoduleとか アンチエイリアスとか、いろいろ新機能があるから。
- 126 名前:名無しさん@Emacs [02/12/23 19:54 ID:Mt+k38km]
- 僕もGTK+2.xですね。
とりあえず新しいの使っておこうって感じです。
- 127 名前:名無しさん@カラアゲうまうま mailto:sage [02/12/23 20:11 ID:HupxKL2U]
- いまだ1.2.xのまま。
自分でつくったやつが動くのかどうか検証するのがめんどい。 # そんなことじゃだめなんだけどなー。
- 128 名前:(^v^)-666 mailto:sage サゲったら鮭弁、ウマウマ! [02/12/26 12:41 ID:5tM+3DZe]
- オレも1.2.xのまま。
特に、理由はないです。Gtk+2.xに変えてもいいけど…。 イマ、ちょっと忙しいんで、年明けにでも…。
- 129 名前:login:Penguin mailto:sage [03/01/03 20:55 ID:WNlDvEUU]
- 保守
- 130 名前:IP記録実験 mailto:IP記録実験 [03/01/08 22:04 ID:1aQvEFST]
- IP記録実験
qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:??? そんなわけで、qbサーバでIPの記録実験をはじめましたー。 27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc SETTING.TXT管轄でないということは全鯖導入を視野に、か? 38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l >>27 鋭いです。 73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか? ・今までより、サーバが重くなる。 ・裁判所や警察からの照会があった場合にはIPを提出することがある。
- 131 名前:login:Penguin mailto:sage [03/01/09 01:27 ID:5dI2J0HT]
- >>375
偽者だから
- 132 名前:login:Penguin mailto:sage [03/01/09 01:41 ID:5dI2J0HT]
- さて、そろそろ読むべきレスがなくなって
記念カキコで1000目指す頃合ですか。
- 133 名前:IP記録実験 mailto:IP記録実験 [03/01/09 02:05 ID:NCBslnNH]
- IP記録実験
qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:??? そんなわけで、qbサーバでIPの記録実験をはじめましたー。 27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc SETTING.TXT管轄でないということは全鯖導入を視野に、か? 38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l >>27 鋭いです。 73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか? ・今までより、サーバが重くなる。 ・裁判所や警察からの照会があった場合にはIPを提出することがある。
- 134 名前:login:Penguin mailto:sage [03/01/09 02:11 ID:X6ogbEfM]
- >>584
ポイズン
- 135 名前:login:Penguin mailto:sage [03/01/09 02:45 ID:oeq9HIxH]
- >>50
タイプミス スマソ
- 136 名前:login:Penguin mailto:sage [03/01/09 03:29 ID:z58+fY32]
- 90 名前:心得をよく読みましょう 本日のレス 投稿日:03/01/08 17:30 Xc+fqEec
>1 >どうやら管理人 >qbサーバ ってなんですか? 97 名前:●ITAN.IBM ◆GQITAN.IBM 本日のレス 投稿日:03/01/08 17:31 A4oVmFaH >>90 批判要望、削除議論、削除整理、削除要請 98 名前:心得をよく読みましょう 本日のレス 投稿日:03/01/08 17:31 TzeruebF >>90 qb.2ch.netで始まるアドレスの鯖。 とありましたな。スマソ 他の鯖はIPとってないの?
- 137 名前:山崎渉 mailto:(^^)sage [03/01/15 11:29 ID:wo7m90to]
- (^^)
- 138 名前:質問君 mailto:age [03/01/17 21:51 ID:Gw5Q2kTa]
- お力をお貸し下さい!
gtk_timeout_addで画面の再描画を設定しています. しかし,別の関数内でwhile(1)の無限ループを使うと,画面の再描画ができません. どうしても無限ループが必要なのですが,どのようにすればよいのでしょう? お力をお貸し下さい!
- 139 名前:山崎歩 [03/01/17 22:20 ID:tQv9kuDJ]
- >>138 おまえが永遠にソースを書き続ければよろしい。
- 140 名前:login:Penguin mailto:sage [03/01/17 22:49 ID:wyXs27gT]
- >>138
スレッド使えば?
- 141 名前:login:Penguin mailto:sage [03/01/19 05:15 ID:LdWFg6+q]
- >>138
あなたの望むそのものズバリの解答ではないかもしれないけど、 while( g_main_iteration(FALSE) ) /* do nothing */; で強制的にメインループを回せます。 よって再描画が必要なときはただちに行われます。 参考までに。
- 142 名前:login:Penguin [03/01/22 11:49 ID:VGBhRJXh]
- Gtkmmの参考書って出てないんですか?
- 143 名前:login:Penguin mailto:sage [03/01/22 23:47 ID:2URUk/vJ]
- Gtkmmを使いたいなら、まずただのGtkをやること。
オブジェクト指向の知識があれば、すぐ移行できる。
- 144 名前:login:Penguin mailto:sage [03/01/22 23:49 ID:2URUk/vJ]
- Gtk2で開発している人はあまりいないのかな?
自分が思うに、Gtkは1.2.xでも相当洗練されていて、十分な機能を備えているんじゃないだろうか。
- 145 名前:login:Penguin mailto:sage [03/01/23 02:34 ID:DVnX67iq]
- >>144
Pango だけでも十分 1.2.x から 2.x に移行する動機付けには十分過ぎると思うんだけどなぁ。 2.1 からは Xft2/fontconfig 対応で OpenType フォントも使えるようになったし。 あと、個人的に Gtk+ 1.2の GtkPaned Widget は大キライ。仕切りの下にあんなつまみつけた センスが分からん。
- 146 名前:login:Penguin [03/03/06 12:49 ID:ucaHnoqM]
- scheme で gtk やりたいぞ age.
和製糞ソフト作るようなヤツでもわかる日本語ドキュメント見せろ,または書け. guile-gtk 希望. え?w3m cgi? GUI じゃないだろ?便利だけど.
- 147 名前:login:Penguin [03/03/06 13:53 ID:fSTp04vi]
- >>146
(・∀・)つ gauche-gtk ツカエ! www.shiro.dreamhost.com/scheme/gauche/index-j.html www.shiro.dreamhost.com/scheme/gauche/packages-j.html
- 148 名前:146 [03/03/07 12:46 ID:5F6JJ4cf]
- >>147
Gauche-gtk に同梱されている gtk-tutorial の hello, world! か. でもこれだけじゃあ和製糞ソフトが量産されるとは思えないな. gtk2 って何? まだ 1.2 使ってるんだけど,これから gtk プログラムを作るなら 2.x の方がいいの? 多国語の扱いがマシになったとか書いてあるところがあったけど. 簡単な方を教えてクレクレ はぁと.
- 149 名前:login:Penguin mailto:sage [03/03/07 13:19 ID:E7ysupB/]
- 1ユーザとしては
アンチエイリアシングで、表示が綺麗なgtk2を使って欲しい、、
- 150 名前:山崎渉 mailto:(^^) [03/03/13 16:51 ID:52vAtNh8]
- (^^)
- 151 名前:login:Penguin [03/03/18 10:45 ID:FeF5+SYV]
- gtk ver 1.2を使っているが、どうすればwidgetの中味を強制的に再描画させら
れる?計算結果をすぐに反映したい時など、ウィンドウ操作によって expose_eventが発生するのを待たずに再描画したいケースが有るはず。例えば ボタンをクリックした時にGtkDrawingAreaオブジェクトを再描画させるとすると GtkDrawingArea* area; int main(int argc, char** argv) { (中略) // GtkDrawingAreaオブジェクトを作成 area = gtk_drawing_area_new(): // expose_eventのコールバック関数を指定 gtk_signal_connect(GTK_OBJECT(drawingarea1), "expose_event", GTK_SIGNAL_FUNC(on_drawingarea1_expose_event), NULL); // GtkButtonオブジェクトを作成 GtkButton* button = gtk_button_new_with_label("Draw now"); // clickedイベントのコールバック関数を指定 gtk_signal_connect(GTK_WIDGET(button), "clicked", GTK_SIGNAL_FUNC(click_event_handler)); (略) } (続く)
- 152 名前:login:Penguin [03/03/18 10:45 ID:FeF5+SYV]
- (続き)
// drawing areaの中味を描画する gboolean expose_event_handler(GtkWidget* widget, GdkEventExpose* event, gpointer arg) { GdkWindow* window; GdkGC* gc = gdk_gc_new(window = event->window); // グラフィックコンテクストを取得する // 描画コード gdk_gc_unref(gc); return FALSE; } // ボタンがクリックされた時の処理 void click_event_handler(GtkWidget* widget, gpointer arg) { gboolean return_val; // areaの再描画を要求 困ったのはここから。click_event_handlerの中でareaに対してexpose_eventを発行すれば再描画されると踏んだが、関数 gtk_signal_emit_by_name()の呼び出しで第3引数以下にどんなパラメー タを渡せば良いのやら(続く)。
- 153 名前:login:Penguin [03/03/18 10:48 ID:FeF5+SYV]
- (続き)
以下は今までに洩れが試したこと 1.expose_event_handlerにargだけを渡す gtk_signal_emit_by_name( GTK_OBJECT(area), // areaに対して "expose_event", // expose_eventを発行する NULL, // expose_event_handlerの第3引数argに渡す値 &return_val); // expose_event_handlerの戻り値を格納する変数へのポインタ コールバック関数expose_event_handlerは第2引数にGdkEventExpose*を 取るが、ここでexpose_eventを発行すると指定している以上、 GdkEventExpose*は自動的に渡されると予想して第2引数eventに渡す値は 指定しなかった。結果はこのコードを実行するとsegmentation faultが 発生して失敗。 2.GdkEventExposeオブジェクトを生成する GdkEvent* event = gdk_event_new(GDK_EXPOSE); // GdkEventExposeオブジェクトを生成する gtk_signal_emit_by_name( GTK_OBJECT(area), // areaに対して "expose_event", // expose_eventを発行する event, // expose_event_handlerの第2引数eventに渡す値 NULL, // expose_event_handlerの第3引数argに渡す値 &return_val); // expose_event_handlerの戻り値を格納する変数へのポインタ gdk_event_free(event); // eventに割り当てられていたリソースを解放する 結果はgdk_event_newがundefined referenceとなってコンパイル不能。 誰か手がかりをキボンヌ。
- 154 名前:login:Penguin mailto:sage [03/03/18 12:23 ID:LjoIsUnh]
- >153
ウィジェットを再表示するだけなら単に gtk_widget_draw() 使えば いいんじゃないのかな。
- 155 名前:151-153 [03/03/18 12:53 ID:FeF5+SYV]
- >>154
サンクス。ついでにgtk_widget_で始まる関数の一覧表調べたら今ではgtk_widget_queue_drawを使うことを推奨しているみたいだね。おまけに、描画 領域を背景色で塗り潰す方法も発見。結局上記のコードはこうなった。 // drawing areaの中味を描画する gboolean expose_event_handler(GtkWidget* widget, GdkEventExpose* event, gpointer arg) { GdkWindow* window; GdkGC* gc = gdk_gc_new(window = event->window); // グラフィックコンテクストを取得する gdk_window_clear(window); // 背景色で塗り潰す // 描画コード gdk_gc_unref(gc); return FALSE; } // ボタンがクリックされた時の処理 void click_event_handler(GtkWidget* widget, gpointer arg) { gtk_widget_queue_draw(GTK_WIDGET(area)); }
- 156 名前:login:Penguin [03/03/22 23:09 ID:XBKip/9C]
- GTKアプリを、Xの起動時に立ち上げると、
日本語が一部消えるんだけど・・・。 なぜ?
- 157 名前:相互リンク [03/04/14 14:01 ID:nee9/l5h]
- GTK+/Glade/gtkmm
pc2.2ch.net/test/read.cgi/tech/1050024677/l50
- 158 名前:login:Penguin [03/04/14 20:31 ID:Rvr2v4eQ]
- >>156
化けるんじゃなくて? 化けるのはAAを掛けてるライブラリのせいなのでAAを切るとよいかも。
- 159 名前:156 [03/04/14 22:58 ID:Y/KrP1DD]
- >158
化けてはいません。 なんか、X起動直後に、初めて描画したときだけWidget単位で消えます。(ちゃんと出るのもある) でも、『あああaaaあああ』みたいのだと『 aaa 』ってアルファベットだけ出る。 しかも、最小化とかすると、元に戻したときちゃんと出る。 上の別のウィンドウを重ねたりしても。 今は仕方ないから、プログラム中でxrefreshを呼び出して、むりやり再描画してるけど。 タイムアウトでの割り込みをかけたりしてるから、美しくないんだよな。
- 160 名前:login:Penguin [03/04/16 18:42 ID:p/eHtb4s]
- Gtk2(というかGdk/Pango)で、文字を任意の深さのPixmapに
(実際表示されているウィンドゥの深さ,Visualとは切り離して) 描画できる方法はないですか? いったん描画したあとでgdk_drawable_get_imageで取り込み プログラム内部で利用しようと考えています。 内部で使用するため、ハードにかかわらず一定の深さの データがいいわけで、表示しているWindowとは無関係のPixmapに 描画できる方法をさがしています。 ただ単にPixmapを作成してgdk_draw_layout_with_colorsで 描画すると、カラーマップの設定が必要と怒られます。 カラーマップを設定しようとしたのですが、そのためには Visual構造体を設定することが必要です。 自分で勝手に値を設定してそれをgdk_colormap_newに渡すと 落ちてしまうようですし...なんか方法はあるのでしょうか
- 161 名前:160 mailto:sage [03/04/16 18:48 ID:p/eHtb4s]
- pixmap=gdk_pixmap_new(drawable,xsize,ysize);
visual.type=GDK_VISUAL_STATIC_GRAY; visual.depth=1; visual.colormap_size=1; visual.bits_per_rgb=1; visual.red_mask=1; visual.red_shift=1; visual.red_prec=1; visual.green_mask=2; visual.green_shift=2; visual.green_prec=1; visual.blue_mask=4; visual.blue_shift=3; visual.blue_prec=1; colmap2=gdk_colormap_new(&visual,TRUE); ←ここで落ちる gdk_drawable_set_colormap(pixmap,colmap2); pangocontext=gtk_widget_get_pango_context(widget); pangolayout=pango_layout_new(pangocontext); pangofontdesc=pango_font_description_new(); pango_font_description_set_family(pangofontdesc,"monospace"); pango_layout_set_font_description(pangolayout,pangofontdesc); pango_layout_set_text(pangolayout,"TEST",4); gdk_draw_layout_with_colors(pixmap,gc,0,0,pangolayout,gdkcol,NULL); getimg=gdk_drawable_get_image(pixmap,0,0,xsize,ysize); /* getimg->mem の内容をプログラムで使用する */
|

|