1 名前:login:Penguin [2001/07/22(日) 22:31] 俺の様な厨房プログラマーをある程度使えるようにまで育成して、和製糞ソフトを 大量量産するのが目的のスレッドです。 とりあえずGNOMEプログラミング(小学館)を買ってきました。 これから読んでみます。
657 名前:glade勉強中 [2005/05/08(日) 23:25:53 ID:YB00BN6K] 648のwidgetを渡す件ですが、 gladeが、生成する support.h 内の関数 lookup_widgetを用いて、 コールバック関数を内でwidgetを検索して取得することができました。 GtkWidget *entry = lookup_widget(GTK_WIDGET(button), "entry1"); gtk_entry_set_text (GTK_ENTRY(entry), dirname);
658 名前:login:Penguin mailto:sage [2005/05/28(土) 11:21:51 ID:o6s+/jnw] GTKについて勉強中なのですが、 HTMLのTABLEタグのような表を作成するにはどうするのが一番いいのですか。 GtkTableのうえに複数のGtkEntryを配置するのが普通?
659 名前:login:Penguin mailto:sage [2005/05/28(土) 19:05:54 ID:ALWgONN6] 表示するだけ…じゃないよな スプレッドシートっぽいのがやりたいときは専用のウィジェットがあったはず ttp://gtkextra.sourceforge.net/
660 名前:GTK初心者 [2005/05/29(日) 16:11:34 ID:8OqUCAcQ] gint mainと int mainの 違いを教えて下さい。
661 名前:login:Penguin mailto:sage [2005/05/29(日) 16:32:38 ID:BEeLFlJy] sizeof(int)はマシンによって違うけどsizeof(gint)はどのマシンでも同じになる が、mainをgintにすべきかと聞かれると…微妙
662 名前:login:Penguin [2005/05/29(日) 18:20:24 ID:8OqUCAcQ] ボタンをクリックして そのボタンを押した数をウィンドウ上に表示させる プログラムを教えて下さい。
663 名前:login:Penguin mailto:sage [2005/05/29(日) 18:52:06 ID:sBgcA4li] >>661 gint main()にしたらダメでしょ。 gintがint以外に置き換えられる場合はwarningになるんだから。
664 名前:login:Penguin mailto:sage [2005/05/29(日) 20:08:11 ID:y1WOFjTT] >>662 どこまでできていて、どこで詰まってるのか?
665 名前:662 [2005/05/29(日) 20:33:21 ID:8OqUCAcQ] >>664 callback関数の gpointer data をどうしたらよいかわかりません。
666 名前:login:Penguin mailto:sage [2005/05/29(日) 22:41:47 ID:y1WOFjTT] >>665 ラベルに表示するならボタンのコールバックを g_signal_connect(button, "clicked", G_CALLBACK(clicked_cb), label) とかしといて コールバック側で label = GTK_LABEL(user_data) とか受けとけばどう?
667 名前:662 [2005/05/29(日) 23:13:36 ID:8OqUCAcQ] >>666 m(__)m ありがとうございます。 やってみます。
668 名前:login:Penguin mailto:sage [2005/05/30(月) 20:14:27 ID:EDgWxmRU] >>659 まさに、こんなのを探していました。 ありがとう。 ダウンロードして試してみます。
669 名前:login:Penguin [2005/06/22(水) 21:07:00 ID:xe7y7k0v] 昨日からgtk勉強してるのですがわからないことがあるので教えてください 1つのグループのラジオボタンを3つ作って、それをA,B,Cとします。 次に一つ普通のボタンを作って、 Aを選択中にこのボタンを押したらA関数が、B選択中はB関数が実行される・・ というプログラムを作りたいのですが、どのように考えればよいのでしょうか??
670 名前:login:Penguin mailto:sage [2005/06/22(水) 21:16:32 ID:qMKsIvq9] >>669 普通のボタンが押された時に呼ばれるコールバック中で、どのラジオボタンが 選択されてるか判定して・・・・、gtk の話でない気がするがどの辺がわからんのよ?
671 名前:login:Penguin [2005/06/22(水) 21:34:03 ID:xe7y7k0v] >>670 コールバック中に判定する方法がわかりません 自分でいうのもなんですが、基本がわかってないと思います。
672 名前:login:Penguin mailto:sage [2005/06/22(水) 21:54:13 ID:qMKsIvq9] user_data でもグローバル変数でも好きなので、 状態をいれた変数かボタンを渡す。
673 名前:669 mailto:sage [2005/06/22(水) 22:04:18 ID:xe7y7k0v] もう少し考えてがんばってみます 参考書なしで、ネットで調べてやってるんですが やはり参考書は買ったほうがいいですかね?
674 名前:login:Penguin mailto:sage [2005/06/22(水) 22:10:13 ID:qMKsIvq9] いい本ないから・・ ネットで gtk2 のチュートリアル見るのがいいと思う。
675 名前:669 mailto:sage [2005/06/22(水) 22:19:39 ID:xe7y7k0v] >>674 そうですか・・・ さっきの問題は解決しました Aを押したらint NUM=1、BならばNUM=2として 普通のボタンを押した関数のなかでNUMが1ならばA関数・・・ というようなのでいちおうできました もっと高度なテクとかあるのかもしれませんが。。。 ありがとうございました
676 名前:login:Penguin [2005/06/23(木) 01:50:52 ID:jw4l769e] GTK+をいじり始めて間もない初心者なんですが少しお聞きしたいことがあります。 ビデオキャプチャプログラムのようなものを作っていて、キャプチャした画像を pixbufに突っ込んでリモートのXクライアントで表示する場合、リアルタイム(30fps)での 表示がキツイです。画像データを圧縮して転送するオプションみたいなものはありませんでしたでしょうか?
677 名前:login:Penguin [2005/06/23(木) 02:58:12 ID:jw4l769e] 説明が足りてない気がするので補足。 GTKはver1.2です。リモートではない場合、描画は2ms程度で終りますが、 リモート(LAN内)では30ms前後かかり、他の処理を含めるとリアルタイム表示(33ms)は 微妙に無理といった感じです。 画像は320x240、24bitRGB、毎秒30枚と考えると、無圧縮では最低でも7MB/sもの 帯域が必要な計算になります。圧縮できるようなことをどこかで見た気がするのですが 気のせいでしょうか??改めて探してみたのですが見つかりません。
678 名前:login:Penguin mailto:sage [2005/06/23(木) 20:12:38 ID:MHRUW0Sb] gtk 関係ないんじゃないの? 7MB/s ってことは RGB 生データ?それならなおさら gtk 関係ない気がするが。
679 名前:676,677 [2005/06/25(土) 21:14:27 ID:O58VWF1R] >>678 7MB/sは生データですよ。30msってのはキャプチャにかかる時間を除いた、 表示(ネットワーク転送含む)するのにかかる時間ですので少なくとも X関連であることは間違いないです。 自マシンで表示する場合はわずか2ms程度で表示できることからも明らかです。
680 名前:login:Penguin [2005/06/26(日) 00:23:14 ID:bkhj+VqI] textviewで選択範囲の指定はどうすればよいのでしょうか? 選択範囲の取得の方は gtk_text_buffer_get_selection_bounds (textbuffer, &start, &end); で、出来るようですが。ちなみにやりたい事はある地点1から地点2までの範囲の文字列をクリップボードに記憶する事です。
681 名前:login:Penguin mailto:sage [2005/07/05(火) 04:57:38 ID:0YaxXABQ] gtk2.0 C言語にてプログラムを作っているのですが行き詰まってしまいました。 メニュー専用の関数を作り、トップレベルウィンドウのウィジットを渡してメニューを生成しているのですが、 その関数の中でメニューのあるアイテムが押されたときのコールバックとして、リストのアイテムやラベルの文字列等を 変更したいと思っています。 ラベルやリストなどのウィジットの取得方法がわからないのですがいい関数ありませんでしょうか? ご教授よろしくお願いします。
682 名前:login:Penguin mailto:sage [2005/07/05(火) 05:09:08 ID:0YaxXABQ] 訂正です トップレベルウィンドウのウィジットを渡して ↓ メインで宣言したメニューバーウィジットのポインタを渡して ウィンドウのウィジットはlookup_widgetやget_widget関数が使えないか 試したときの名残でした。
683 名前:login:Penguin [2005/07/15(金) 04:16:09 ID:pWVHLMqz]
684 名前:login:Penguin mailto:sage [2005/07/19(火) 23:31:34 ID:Kq6OqZbu] 2.6からGtkMessageDialogは2行で書くことを強要するようになったのか・・・orz
685 名前:login:Penguin [2005/08/14(日) 11:45:43 ID:hCW5GrPA] GTK+-2.8.0 release age
686 名前:login:Penguin mailto:sage [2005/08/14(日) 22:13:25 ID:k5rVKxDc] >>685 描画にcairoを使ったやつだな。安定してるのかな?
687 名前:login:Penguin [2005/08/14(日) 22:23:45 ID:i3voTSGN] >>686 さあ。CairoもGLIBもPangoもうまくいったんだけど、 GTKのmakeが途中で失敗して試せず…
688 名前:687 mailto:sage [2005/08/15(月) 15:49:57 ID:w6RYEsxj] できた。 >>686 安定してるとはおもうよ。今のところ怪しい挙動はしてないし。 あと、ColorChooserがきれい(;´Д`)。
689 名前:login:Penguin [2005/08/21(日) 12:44:35 ID:K7D1YFrD] 現在、Redhat9.0でX-Windowのプログラミングを 行っています。 質問内容 マインスレッドから子スレッドを生成しました。 子スレッドの中のfor()文でミリ秒単位(もしくは、それ以下) のデュレイ(sleep()の処理)を入れたいのですが、 実現方法がわからない状況です。 C言語の関数かX-Windowの関数で実現 方法をご存知の方がいましたら、アドバイス お願いします。
690 名前:login:Penguin mailto:sage [2005/08/21(日) 13:38:31 ID:HFufZyw/] usleep()
691 名前:login:Penguin mailto:sage [2005/08/21(日) 13:48:07 ID:K7D1YFrD] >>690 有難う御座います。 usleep()確認致しました! 昨日から悩んでましたが、これで解決しました。 感謝感謝 <(_ _)>(本当に有難う御座います。)
692 名前:login:Penguin mailto:sage [2005/08/24(水) 15:36:40 ID:ONHXEom6] Gtk 1.2で質問です。 CListのある行が表示領域の中か外かはわかるんですが、 その行が表示領域より上なのか下なのかを判別する方法はありますか?
693 名前:login:Penguin mailto:sage [2005/08/24(水) 15:45:04 ID:UhWJrWdj] >>692 もう1.2は捨てろや。
694 名前:login:Penguin mailto:sage [2005/08/24(水) 16:27:17 ID:ONHXEom6] 1.2で不可能なら乗り換えますので…
695 名前:login:Penguin mailto:sage [2005/08/24(水) 18:34:08 ID:I9lXJq9H] >>692 先頭からなめていけばできるんじゃないか? と CList を全然使ったことないオレが言ってみる。
696 名前:login:Penguin mailto:sage [2005/08/25(木) 00:07:52 ID:hGqCOotH] みんなエディタどうしてる? Emacs? KDevelopとかEclipseとか統合環境ってやっぱ便利かな?
697 名前:login:Penguin mailto:sage [2005/08/25(木) 01:16:12 ID:fP3EQi3h] >>694 CListは2.x以降では使うべきでないウィジェットなので、調べるだけ無駄。
698 名前:login:Penguin mailto:sage [2005/09/01(木) 19:10:40 ID:q3rS4hWe] GTK2.0のプログラミングを始めるにあたって、 「ここ見て勉強しる!」っていうWebはありますか?
699 名前:login:Penguin mailto:sage [2005/09/01(木) 21:26:59 ID:rC80u0pE] 本家のチュートリアルを流し読んだら、 ・チュートリアル ・API リファレンス(gtk,glib) ・ソース ・ソースに付いてるサンプルコード(gtk-demo が特にいい) の4つを何時でも読めるようにローカルのハードディスクに入れて、後は実戦。
700 名前:login:Penguin mailto:sage [2005/09/01(木) 21:37:27 ID:l0ibWz2e] >>699 本家のチュートリアルが、既に腐ってるという問題がw
701 名前:login:Penguin mailto:sage [2005/09/06(火) 18:45:02 ID:dEt8CCEg] ソースを読めば理解しあえる それが本物のプログラマーだ
702 名前:login:Penguin mailto:sage [2005/09/06(火) 23:46:36 ID:P14C2zmG] >>701 幻想だ。ほかのやつが書いたソース読んでもむかつくだけ。
703 名前:login:Penguin mailto:sage [2005/09/07(水) 00:48:45 ID:Ow0LlqqK] 半年前に自分が書いたコードが全然理解できません。
704 名前:login:Penguin mailto:sage [2005/09/20(火) 00:43:03 ID:W0eobZlU] >>703 ちゃんとコメント書いとけ
705 名前:login:Penguin mailto:sage [2005/09/20(火) 00:55:32 ID:txdQkjKa] そこで文芸的プログラミングですよ
706 名前:login:Penguin [2005/09/20(火) 18:01:07 ID:Vs5i3O4n] gtk+-1.2.10 って最近の gtk+-2.x より重くて不安定なの?
707 名前:login:Penguin mailto:sage [2005/09/21(水) 15:17:22 ID:rr1Fmfwx] 1.2.10のほうが軽いけど、機能的にかなり劣るしクラッシュを起こすような 大きな不具合もいろいろ存在する。
708 名前:login:Penguin [2005/09/26(月) 18:08:58 ID:DNEXEhTN] ★〜彼方の願い星〜★ このレスを見た人は、超ラッキーな人♪ でも、このレスを見ただけじゃ何も起らないよ。 効果を実感したいなら、このレスを5回違うスレにレスしてね♪ だぁい好きなあの人に告られたり、 成績がどんどん良くなって、先生に褒められちゃったり...。 次々とHAPPYな事が訪れます♪ 此の頃変なのがいっぱい回ってますが、これは本当です!! これが本物の、初代HAPPYメールです♪
709 名前:login:Penguin [2005/10/03(月) 03:44:59 ID:CJIUV5JW] 質問です。 GtkComboBox (=ドロップダウンリスト)の gchar* gtk_combo_box_get_active_text (GtkComboBox *combo_box); が返す文字列って、GtkComboBox が内部で持っている文字列のポインタそのものなんでしょうか。 だとしたら、文字列の中身をいじっちゃいけないですよね。 もし、新たに別なコピーを作って渡してくれているとしたら、使い終わったときに g_free() してあげるべきだと思うんですけど、どっちなんでしょう。 環境:FreeBSD5.4 gtk+2.6.10
710 名前:login:Penguin mailto:sage [2005/10/03(月) 04:06:14 ID:ddKsBqfZ] >>709 Returns : a newly allocated string containing the currently active text. だから、コピーが返ってくる。 GTK+ではコピーでない文字列が返ってくる関数は返り値の型として G_CONST_RETURN gchar *を使っていると思ってよい。
711 名前:login:Penguin mailto:sage [2005/10/20(木) 00:48:02 ID:gcr1pUQn] 現在、SUSELINUX10.0を使っています。これからGTK+でプログラミングを始めようと 考えているのですが、初心者レベルの参考書かWEBページを教えていただけませんか?。 C言語は理解できるのですが、GTKのコンパイルの仕方とか全くわからない者です。 やりたいことは、ベクトルデータを読み込んで、ウィンドウ上に線や円を描きたいのです。 宜しくお願いします。
712 名前:login:Penguin mailto:sage [2005/10/20(木) 01:56:33 ID:uIaqifFq] >>711 www.google.co.jp/search?hl=ja&q=gtk+%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
713 名前:login:Penguin mailto:sage [2005/10/20(木) 02:28:11 ID:gcr1pUQn] >>712 昔、アテナウィジェットでプログラムを組んだことがあるので、理解ははやいです。 ありがとうございました。
714 名前:login:Penguin mailto:sage [2005/10/25(火) 10:18:40 ID:5uMbs+gQ] GtkButtonを使ったボタンを通常より立体的にしたいのですが、 リソースを設定するだけで可能なのでしょうか。
715 名前:login:Penguin mailto:sage [2005/10/25(火) 13:25:22 ID:IfftLXnr] GTKはリソース使いません。
716 名前:login:Penguin mailto:sage [2005/10/25(火) 13:45:08 ID:6LKQFPf8] >>715 .gtkrcはリソースファイルって言わないの?
717 名前:login:Penguin mailto:sage [2005/10/25(火) 14:02:11 ID:5uMbs+gQ] >>715 Reference Manual に Resource File の章があるんですけど。
718 名前:login:Penguin [2005/10/25(火) 17:22:31 ID:m1tx75Sl] gtk+-2.0をインストールしたいのですがうまくいきません。 pkageconfig,glib,atkをmakeしたあと pangoをコンパイルしたのですが fontconfigがないとのエラーが出ました。 fontconfigをダウンロードしたのですが、以下のようなエラーが出て コンパイル出来ません。 どうすればいいのか、アドバイスをお願いします。 ../fontconfig/fcfreetype.h:27 から include されたファイル中, ../src/fcint.h:39 から, fc-lang.c:25 から: /usr/local/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't been included yet!" /usr/local/include/freetype2/freetype/freetype.h:21:2: #error "Please always use macros to include FreeType header files." /usr/local/include/freetype2/freetype/freetype.h:22:2: #error "Example:" /usr/local/include/freetype2/freetype/freetype.h:23:2: #error " #include <ft2build.h>" /usr/local/include/freetype2/freetype/freetype.h:24:2: #error " #include FT_FREETYPE_H" make[2]: *** [fc-lang.o] エラー 1 make[2]: Leaving directory `/usr/local/src/fontconfig-2.2.0/fc-lang' make[1]: *** [all-recursive] エラー 1 make[1]: Leaving directory `/usr/local/src/fontconfig-2.2.0' make: *** [all-recursive-am] エラー 2
719 名前:login:Penguin mailto:sage [2005/10/25(火) 18:47:16 ID:cgJQeaf4] freetype2インストールしてある?
720 名前:login:Penguin mailto:sage [2005/10/25(火) 22:24:06 ID:j8mKOjPp] コンパイルエラーの意味がわからないなら、 rpmとかdebとかのをインスコしろよ
721 名前:login:Penguin mailto:sage [2005/10/26(水) 00:25:02 ID:0UU6o7oS] Geany is a text editor using the GTK2 toolkit with basic features of an IDE. geany.uvena.de/
722 名前:login:Penguin mailto:sage [2005/10/26(水) 01:50:52 ID:fACOIYn1] java-gnomeとかgnoclとかいじってる奴っておらん? もうちょっと盛り上がれこのスレ。
723 名前:login:Penguin mailto:sage [2005/10/26(水) 10:45:30 ID:J1h3yCQS] >>718 ttp://www.kde.gr.jp/ml/Kuser/msg04076.html 要するに該当ファイル中の #include <freetype/freetype.h> を #include <ft2build.h> #include FT_FREETYPE_H に直せばよい。
724 名前:login:Penguin [2005/10/26(水) 20:04:52 ID:7wGr95kq] >>722 java-gnome vs gtk#とかおもしろそう。
725 名前:login:Penguin [2005/11/26(土) 16:49:49 ID:QuE9fj5+] GTK+2.0以降 で GDK Imlib を使う方法はないもんでしょうか。
726 名前:login:Penguin mailto:sage [2005/11/29(火) 01:33:56 ID:NZ7bfDmC] UIManagerでMenuToolButtonを扱うにはどうすればいいのでしょうか?
727 名前:login:Penguin mailto:sage [2005/12/05(月) 17:09:52 ID:yTnWD7jY] GtkTextViewで質問があります。 ウィンドウにメニューバーとテキストビューをのせています。 横スクロールバーはなくし、長文を折り返して表示させたいのですが、 ウィンドウが勝手に広がってしまいます。 また、ウィンドウを狭くしようとしても、狭くできません。(マウス操作で)
728 名前:login:Penguin mailto:sage [2005/12/05(月) 18:04:47 ID:BtGpeGNp] >>727 gtk_text_view_set_wrap_mode()
729 名前:login:Penguin mailto:sage [2005/12/07(水) 12:30:25 ID:/q9zEwb5] >>728 レスありがとう。 ワードラップ効かすと折り返しが妙なとこでされちゃうので、NONEにしてます。 具体的には、空白9つのあとに数字を記述した行と連続した文字の行で、表示位置がズレてしまうので。 1 2 3 4 5 6 7 8 9 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
730 名前:login:Penguin mailto:sage [2005/12/07(水) 12:37:34 ID:/q9zEwb5] >>729 1 2 3 4 5 6 7 8 9 ありゃ、先頭に空白いれたつもりが... それからGtkTextViewのかわりにVTE を使って、どうように表示できるようにしてみたのですが、 表示自体はうまくいけそうだったのですが、ウィンドウのリサイズで内容を書き換えてくれないし、 なにやら Gdk-CRITICAL が出力されてます。 [vte:xxxxx]: Gdk-CRITICAL **: gdk_gc_get_colormap: assertion `GDK_IS_GC (gc)' failed 因に SuSE 10.0 使ってます。
731 名前:login:Penguin mailto:sage [2005/12/07(水) 13:32:02 ID:uBfmckMe] >>727 以前、狭くできなくて悩んだ時は textview に gtk_widget_set_size_request で 適当なサイズを入れて狭くできるようになった。 理屈はわからないけど
732 名前:login:Penguin mailto:sage [2005/12/07(水) 17:02:44 ID:/q9zEwb5] >>731 ご教授いただきましたように、 gtk_widget_set_size_request (GTK_TEXT_VIEW(text), 100, 75); と一行、適当(値も適用)に入れてみました。 確かにウィンドウのリサイズができるようになりました。 ただ、折り返して表示してくれないのでorz。 今は、VTEで作業してます。
733 名前:login:Penguin mailto:sage [2005/12/07(水) 17:20:33 ID:gfGZYrS3] >>732 お前が折り返しをしないように設定してるからだろ。ちっとは頭を使え
734 名前:login:Penguin mailto:sage [2005/12/07(水) 17:38:00 ID:/q9zEwb5] >>733 ワード・ラップとは、ある単語が一行で完了しない場合に、(単語の区切りを意識して) 強制的にその単語を次の行に移動して表示する機能をいいます。 単語の区切りを無視してくれるようにはできないですよねぇ...
735 名前:login:Penguin mailto:sage [2005/12/07(水) 18:02:40 ID:gfGZYrS3] >>734 GTK_WRAP_CHAR リファレンス嫁
736 名前:login:Penguin mailto:sage [2005/12/08(木) 10:11:26 ID:NkHarRL9] >>735 GTK_WRAP_CHAR にもしたが、へんなとこで改行されてしまうんだけれど... リファレンス嫁んorz
737 名前:login:Penguin mailto:sage [2006/01/28(土) 06:10:36 ID:y31wlGaX] pcmanfm.sourceforge.net/
738 名前:login:Penguin mailto:sage [2006/01/28(土) 13:29:29 ID:amWZrwNv] >>736 ここでゴチャゴチャ訊いてるより自前でやってしまう方が早いと思うが
739 名前:login:Penguin mailto:sage [2006/02/08(水) 12:18:47 ID:EWHkI7FI] コマンドライン引数で `-' を渡したいんですが、gtk_init() で `-' は取り除 かれるみたいですね。 なんか回避方法とかありますか? やっぱ gtk_init() の前で一旦引数をパーズするしかない?
740 名前:login:Penguin mailto:sage [2006/02/08(水) 20:36:38 ID:CYm40DFq] 慣習としては -- をおいてオプションと引数を区別するんじゃないか。 GTKが対応してるかどうかは知らんけど。
741 名前:login:Penguin mailto:sage [2006/02/08(水) 23:26:08 ID:EWHkI7FI] >>740 うーん、オプションとして `-' を渡したかったんですけどね。`-file -' で 標準入力からデータを読む、みたいな。とりあえず gtk_init() の前で捕捉す ることで逃げました。 ちなみに `--' には対応してるみたい。試してみたら `--' の後の `-' は gtk_init() を通過してきた。
742 名前:login:Penguin mailto:sage [2006/02/19(日) 15:58:57 ID:P101Qt/X] シグナルの発行ってどうやるの?
743 名前:login:Penguin mailto:sage [2006/02/20(月) 13:14:52 ID:OBEFgOmS] g_signal_emit()
744 名前:login:Penguin mailto:sage [2006/02/21(火) 01:18:20 ID:OjKUo/jf] コールバック関数の中でブロッキングする処理があるんですが ウインドウ上のボタンを押されたらキャンセルさせたいです。 でもコールバック関数がブロッキングしてたらgtk_main()に返らない のでキャンセルボタンには反応できないんでしょうか? 解決方法をご存じの方がいらっしゃいましたら教えてください。
745 名前:login:Penguin mailto:sage [2006/02/22(水) 00:35:56 ID:DgPvEyu9] >>744 よくわからんが、長時間かかる処理をキャンセルできるようにしたいということか? gtk と関係ないがスレッドとかどうよ?
746 名前:744 mailto:sage [2006/02/22(水) 22:32:46 ID:s0bZ0aZZ] うーん、スレッドでもいいんだけど割り込み処理みたいなこと できないかなぁーと思いまして。。
747 名前:login:Penguin mailto:sage [2006/02/23(木) 14:41:15 ID:9eTddDoJ] 適当な間隔で while (gtk_events_pending()) gtk_main_iteration(); を呼んで一時的にイベントループを回してやると、スレッドを使わなくてもUIの処理ができるようになる。 システムコールなんかで長時間ブロックするような場合には使えないけど。
748 名前:login:Penguin mailto:sage [2006/02/23(木) 22:16:58 ID:HDaCfi3a] >>743 サンキスト
749 名前:login:Penguin [2006/04/06(木) 09:06:33 ID:xwiqVJCG] すいません、どうしてもわからなかったのですが… gtk_label_set_markup() で '<' と '>' を表示する方法がわかりません。 タグの開始(終わり)と判断されてしまうようです。 すいません、よろしくお願いいたします。
750 名前:login:Penguin mailto:sage [2006/04/06(木) 13:56:52 ID:lK+xfIyV] >>749 以下の様にしたらちゃんとイタリックで「<test>」と表示されるみたいだけど、 駄目すか。 m = g_markup_printf_escaped ("<span style=\"italic\">%s</span>", "<test>"); gtk_label_set_markup (GTK_LABEL(label), m); g_free (m);
751 名前:749 mailto:sage [2006/04/07(金) 00:53:52 ID:064lZiFe] >>750 ありがとうございました、行けました。
752 名前:login:Penguin [2006/04/08(土) 16:50:28 ID:qD5vNEHv] GTKアプリケーションでウィンドウを分割しているウィジット(マウス操作でレイアウトの棒を左右に動かせる)を見掛けたのですが あれは何と言うウィジットなのでしょうか。 ウィジットの名前が分からないと調べようもないので教えてください
753 名前:login:Penguin [2006/04/08(土) 17:07:07 ID:et4vCTR5] 多分 GtkHPaned っていうやつだと思う Glade(2.12.1)だと右から2番め下から2番めにあるやつ
754 名前:login:Penguin [2006/04/09(日) 00:12:12 ID:lWv/4qoU] >>753 ありがとうございました。 そのウィジットで出てきました
755 名前:login:Penguin [2006/04/26(水) 18:09:37 ID:k4vlbIwh] gtkで画面をすぐに更新させるにはどうしたらいいでしょうか。 swapBufferやflushのようなカンジの関数があるかと 思ったんですが、見付かりませんでした。
756 名前:login:Penguin mailto:sage [2006/04/26(水) 23:15:06 ID:aZu1U6v6] GdkFlush って無かったっけ?
757 名前:login:Penguin mailto:sage [2006/05/02(火) 08:17:35 ID:UqKVJP00] 関数名長いよ!ヽ(`Д´)ノ ウワァァァン
758 名前:login:Penguin mailto:sage [2006/05/02(火) 08:57:43 ID:e/deB1lW] ああ、C言語だからな。
759 名前:login:Penguin [2006/05/09(火) 07:32:53 ID:reS9af81] GtkComboBox で質問です…。 GtkComboBox の signal で "changed" が発行された時と同じような感じで コールバックを呼びたいのですが、 選択されたアイテムが前のと同じでも呼べるようにするにはどうすればよいでしょうか… 識者の方、お願いいたします。
760 名前:login:Penguin [2006/05/21(日) 23:50:35 ID:wP3kA47Z] Gtk初心者です get_wigetを使ってウィジェットから値を取り出したのですが, undefined reference to `get_widget` というエラーメッセージが出ます 何か解決する方法はあるでしょうか? また,代替手段などありましたら教えて下さい
761 名前:login:Penguin mailto:sage [2006/05/22(月) 00:15:02 ID:lYbn8Pcy] >>760 文が変
762 名前:760 mailto:sage [2006/05/22(月) 00:36:55 ID:cF96P9p7] 失礼しました.訂正します > get_wigetを使ってウィジェットから値を取り出したのですが, ウィジェットから値を取り出すために,get_widgetを使って ウィジェットを取得したいのですが, > undefined reference to `get_widget` > というエラーメッセージが出ます > > 何か解決する方法はあるでしょうか? > また,代替手段などありましたら教えて下さい よろしくお願いします
763 名前:login:Penguin mailto:sage [2006/05/22(月) 10:15:59 ID:DWYo0BTY] >>760 私はsupport関数を使わないからよく分からないけど、 gtk+-1.x用のgladeでは get_widget だった関数が 2.0 では lookup_widget に なってるっぽい。 こんなんあった。↓ ttp://lists.ximian.com/pipermail/glade-users/2003-October/001603.html glade使ってるんだよね? glade使ってないのにgladeで準備された関数を 使っているという話じゃないよね?
764 名前:760 mailto:sage [2006/05/22(月) 21:47:05 ID:cF96P9p7] >>763 ありがとうございます > glade使ってるんだよね? glade使ってないのにgladeで準備された関数を 使っているという話じゃないよね? はい.glade使ってます. でも,lookup_widget以外を使って同じような関数って,皆さんどのようにしているんでしょうか? それから,GTKを学習する上で参考になるHPなどありましたら, 教えて下さい
765 名前:763 mailto:sage [2006/05/23(火) 00:10:16 ID:gEQHRwr8] >>760 GTKを簡単かつ体系的に教えてくれるHPは無いかもなぁ。 GTK自体が簡単なもんじゃないし、変化もしていくからね。 私が参考にしているのはGNOMEのプログラミング関係のドキュメント類。 それとGTK+とかglibのソース。 それと、gtk-demoというコマンドはとても参考になります。 gladeのsupport関数を使わない方法は、 モジュール的構造も考えなきゃならない少し大規模なプログラミングを するとなると、自然にそうなる気がする。これは言語(C言語とか)を じっくり体系的に勉強する必要があると思う。そうすると自然に見えてくるかな。 変数のスコープ(通用範囲)に大きく関わります。 簡単に言うと、widgetのアドレスさえどこかに覚えておけばいいので、 必要なものを構造体にしてそれを関数の引数として渡せばいい。 あるいはGUI部分だけ1ファイルにしてその中の最初でstatic変数として定義とか。 この場合はwidgetからの値の取得とかwidgetの書き換えとかはこの1ファイル中で 行って、他の部分にはwidgetのアドレスは必要ない状態にするといいかな。 ちなみに、lookup_widgetを使わない場合はinterface.cの GLADE_HOOKUP_OBJECT とかのマクロ部分は必要なくなります。
766 名前:login:Penguin [2006/05/24(水) 10:41:45 ID:zKYF/EzE] gtk+-2.6 をつかってるんですが、 GtkRadioButtonで、group内のすべての radio buttonを inactiveにする方法ってあります? gtk_toggle_button_set_active(radio_button, FALSE) だと activeになっているものを inactive にしてくれないみたいなんですが。
767 名前:login:Penguin mailto:sage [2006/05/24(水) 15:19:22 ID:Yn9YRiJ9] >>766 必ず一つだけが active になってるのが radio button なので、できない。
768 名前:login:Penguin mailto:sage [2006/05/25(木) 02:56:23 ID:VlZmec8+] >>767 そうみたいですね... newしたときから activeになってるみたいだし。 どれも選択されていない RadioButtonって需要ないのかしらん。 素直に GtkToggleButtonに signal組み合わせて作ります。
769 名前:login:Penguin mailto:sage [2006/06/02(金) 00:28:01 ID:hcRTarUB] gtk_button_new_from_stockはgtk_buttonと名が付くのに何で GtkWidgetを返しやがりますか
770 名前:login:Penguin mailto:sage [2006/06/02(金) 02:04:06 ID:N+GTRApa] gtk_hogehoge_new は GtkWidget *を返すって conventionじゃないの? そのほうが gtk_widget_showとかに渡すときも面倒じゃないし。 gtk_hogehoge_do_something の第1引数は たいてい GtkHogehoge だから その場合は面倒だけど。 OOPLでやればそんな面倒はないんだけどね。
771 名前:login:Penguin [2006/06/08(木) 02:09:17 ID:+cYFIqs+] 質問です。 GTK のメインループで使っている GMainContext は g_main_context_default () で 取れますか? 実は main_context = g_main_context_default (); して、この main_context を他のライブラリに使用しようとしたら(ライブラリの初期化に必要) 「FreeBSD ではうまく動く、しかし Windows ではうまく動かない」 という現象に出くわしました。 なにせ main context も loop も理解していないので…。 どなたかお教えくださいませ.............
772 名前:login:Penguin [2006/06/08(木) 03:26:47 ID:DJniGV22] gtk_widget_destroyと g_object_unrefってどう使い分けるんでしょう? ほかからも参照されている可能性を考えると g_object_unref() を 使うべきの気がするんだけど、だとすると gtk_widget_destroy() が ある意味がわからない...
773 名前:login:Penguin mailto:sage [2006/06/11(日) 20:12:39 ID:J6bQThTU] gtk_window_set_title(window,"ゲイツ砲作動");
774 名前:login:Penguin mailto:sage [2006/06/14(水) 01:55:53 ID:t+ofgOcF] glibとかgtkのドキュメントでman形式のものってありますか? --enable-manとかやってみたけど、よくわかりません。 どこかへのポインタでもいいですので、教えていただけませんか。
775 名前:login:Penguin mailto:sage [2006/06/14(水) 13:34:14 ID:iviE8HFQ] つ/usr/share/gtk-doc
776 名前:login:Penguin mailto:sage [2006/06/25(日) 01:13:32 ID:FTDnSR/k] >>772 閉じるボタンに繋げる合などだけ destroy で、他は unref でいいと思う。 ほかから参照されているときに destroy しても 使いものにならなくなるだけで問題はない。 destroy メソッドを実行すると初回のみ destroy シグナルが発行される。 参照がまだあれば、object は回収されずに残る。 unref メソッドの場合、最後の参照だった場合のみ destroy finalize の順に 実行されて、object が回収される。 似たような質問がここに mail.gnome.org/archives/gtk-list/2001-August/msg00105.html GtkObject の終了処理について developer.gnome.org/doc/GGAD/sec-finalization.html
777 名前:login:Penguin mailto:sage [2006/06/26(月) 11:40:10 ID:M7qvCUGx] OpenLDev ttp://www.openldev.org/ これよさげ
778 名前:login:Penguin mailto:sage [2006/07/03(月) 22:12:38 ID:pWv0Yxym] GTK+ 2.10.0とGLib 2.12.0のリリースアナウンスメントをwww.gtk.orgで発見 でもリリースノートとtarballは、まだなのね…
779 名前:login:Penguin mailto:sage [2006/07/06(木) 20:30:35 ID:xw7f/fG0] Gtk使えねぇええええ TreeModel超糞。
780 名前:longhon [2006/07/17(月) 23:28:47 ID:BTBgIeR8] いまGtkをまなんでexcelみたいな表を作ろうと考えたのですが、 tree view list を使ってできるというところまではわかったのですが、 日本語のチュートリアルはなく、原本のリファレンスを見るものの さっぱりな状態です。ちょっと教えていただけないでしょうか? クレクレ君ですみません。
781 名前:login:Penguin mailto:sage [2006/07/18(火) 00:17:21 ID:KWhoRQuP] Linuxならgtk-demoでサンプルが見れるぜい
782 名前:longhon [2006/07/18(火) 00:56:09 ID:P7E0MH5b] おーdemoのバージョンってどうやってしらべるんだろ?
783 名前:login:Penguin mailto:sage [2006/07/18(火) 01:07:07 ID:lOzLf0iO] 表作るなら>>659 みたいなのもあるらしい。 俺はListStore程度で済む事しかやらん(やれん)から使った事ないけど。 あとリファレンスはruby-gtkのが割と日本語化されてて初めは楽。
784 名前:login:Penguin [2006/07/18(火) 06:48:40 ID:TIhQa3Ub] jpegイメージを表示するプログラムはどれくらいかんたんにできますか?
785 名前:longhon [2006/07/18(火) 16:17:54 ID:P7E0MH5b] そのListstoreがわからないーーー
786 名前:login:Penguin mailto:sage [2006/07/18(火) 16:37:02 ID:CMZdz4SS] 英語で良いならttp://scentric.net/tutorial/があるな。
787 名前:login:Penguin mailto:sage [2006/07/18(火) 19:37:56 ID:Af6G0/qF] >>784 #!/usr/local/bin/perl use Gtk2 '-init'; $win = new Gtk2::Window->new(GTK_WINDOW_TOPLEVEL); $img = new Gtk2::Image->new; $win->signal_connect("delete_event", \&qu, undef); $win->add($img); $img->set_from_file("hoge.jpg"); $win->show_all; Gtk2->main; exit; sub qu { Gtk2->main_quit; }
788 名前:longhon [2006/07/21(金) 00:43:24 ID:6uqESCNY] ソートとeditが同時に出来ないーー static void add_columns(GtkTreeView *treeview) { GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeModel *model = gtk_tree_view_get_model(treeview); /* column for date */ renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_get_column(treeview, COLUMN_DAY); //column = gtk_tree_view_column_new_with_attributes("Daisuke", renderer, "text",COLUMN_DAY, NULL); g_signal_connect(renderer, "edited", G_CALLBACK(cell_edited), model); g_object_set_data(G_OBJECT(renderer), "column", (gint *)COLUMN_DAY); gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), -1, "Date", renderer, "text", COLUMN_DAY, "editable", COLUMN_EDITABLE, NULL); gtk_tree_view_column_set_sort_column_id(column, COLUMN_DAY); gtk_tree_view_append_column(treeview, column); 以下略
789 名前:longhon [2006/07/21(金) 02:15:17 ID:6uqESCNY] 訂正 "Daisuke" -> Date デバックの張ってしまった
790 名前:login:Penguin [2006/07/22(土) 22:44:27 ID:ePUeuv0L] リストの更新ってどうしりゃいいんだ?
791 名前:login:Penguin mailto:sage [2006/07/23(日) 03:07:35 ID:amAZ2PT+] >>790 リストって何のリストだお
792 名前:login:Penguin [2006/07/23(日) 05:14:23 ID:x3i4d7lC] GTKのスレで質問するのは適切ではないかもしれないのですが、 リアルタイムに描画を更新するプログラムでVSYNCを取得するって どうすればいいのですか? 簡単なアニメーションを表示させたくて、ウィンドウシステムや ウィジェットなどはなんでもいいのですが、普通はどのようにVSYNCを 取得するものなのでしょうか? ウィンドウシステムごとに固有の方法が用意されている? それともカードのレジスタかなんかから直接とってくるのでしょうか? (それともVSYNCなんて取る必要はない?) 描画関係に関してはまるっきり素人なもので…
793 名前:login:Penguin mailto:sage [2006/07/23(日) 05:59:52 ID:9cNKicFy] 無理無理
794 名前:login:Penguin mailto:sage [2006/07/23(日) 08:32:45 ID:h2mLkene] >>792 DRM_IOCTL_WAIT_VBLANK で検索してみ
795 名前:login:Penguin [2006/07/23(日) 11:29:11 ID:x3i4d7lC] >>794 ありがとうございました! 調べてるときに、割り込みでVBLANKがとれない場合 単にVBLANKの周期で処理を行うようなpatchがあったりしたのですが こういったことも有効なものなのでしょうか? (何か根本的に勘違いしてる、私?)
796 名前:login:Penguin mailto:sage [2006/07/24(月) 20:55:51 ID:OZvD/B1G] 意味ないんじゃないのそれ。 単に周期を合わせるのだと、運がよければvsyncに合うけど、 運が悪ければ書き換えの最前線が常に画面上になるんじゃないのかな。
797 名前:login:Penguin mailto:sage [2006/07/25(火) 20:47:07 ID:ObYp5Z0J] 無理無理
798 名前:login:Penguin mailto:sage [2006/07/25(火) 22:07:19 ID:ANae/VXn] gtkでほにゃららウィザードみたいな感じで画面全体を 遷移させたいのですが、どうすればいいか教えてください。 やっぱり神様windowがパネルごとshow/hide?
799 名前:login:Penguin mailto:sage [2006/07/26(水) 03:03:30 ID:nO5MsZXX] gtk_window_fullscreen ttp://developer.gnome.org/doc/API/2.0/gtk/GtkWindow.html ?
800 名前:login:Penguin mailto:sage [2006/07/28(金) 16:03:10 ID:gdBL/xGV] ドルイド使えん? developer.gnome.org/doc/API/2.0/libgnomeui/GnomeDruid.html って、全画面にはならんのかな.
801 名前:login:Penguin mailto:sage [2006/08/01(火) 00:31:39 ID:L0TWKid5] おまいらやっぱCで書いてる?
802 名前:login:Penguin mailto:sage [2006/08/03(木) 17:59:03 ID:Pbm1StqY] Haskellで。
803 名前:login:Penguin mailto:sage [2006/08/03(木) 21:08:21 ID:PrqlXciu] #include <gtk/gtk.h> がダメで `pkg-config --cflags --libs gtk+-2.0` だと大丈夫なのはどういう意味があるのでしょうか。 windows.h のように普通にincludeできないと違和感を感じてしまうのですが…
804 名前:login:Penguin mailto:sage [2006/08/03(木) 21:25:07 ID:3S1RLjXN] 何がどうダメなのさ
805 名前:login:Penguin mailto:sage [2006/08/03(木) 21:26:34 ID:ONA5Yror] pkg-config --cflags --libs gtk+-2.0 を実行したらすぐわかるような
806 名前:login:Penguin mailto:sage [2006/08/03(木) 23:21:48 ID:k7FfsSEw] gtk を試しはじめてネット上で検索とかしまくってるんだけど、 検索すればするほど日本ではあまり使われてないような…。 みんな何作ってるの?公開とかしてる?
807 名前:login:Penguin mailto:sage [2006/08/03(木) 23:29:07 ID:B7tJQEHQ] >>806 本が結構売られているよ。 GTK+で有名なのはGIMPかな。っていうかこれのために作られたのがGTK+・・・
808 名前:login:Penguin mailto:sage [2006/08/04(金) 02:18:59 ID:1ByfcMbI] >>806 JDでスレ検索
809 名前:login:Penguin mailto:sage [2006/08/04(金) 16:25:35 ID:QDVDuP06] GTK+-2.0の日本語の本ってある??>>806 結局、公式 gnome 開発者ガイド使ってるけど、これも突っ込み甘い.. www.amazon.co.jp/gp/product/1593270305/250-5057288-9394607?v=glance&n=52033011&s=english-books
810 名前:login:Penguin mailto:sage [2006/08/12(土) 23:07:37 ID:gUx2Zo6A] APIのレファレンスマニュアルのページ読むと必ずハングするんですが、 なんか意地悪してるんでしょうか。
811 名前:login:Penguin mailto:sage [2006/09/01(金) 22:01:53 ID:9hBp2t2i] >>810 GTKベースのソフトで読まないとハングするよ。
812 名前:login:Penguin mailto:sage [2006/09/02(土) 09:14:33 ID:4priHuM5] 読むのに使ってるソフトのスレで訊くべきじゃないの
813 名前:login:Penguin mailto:sage [2006/09/03(日) 22:39:48 ID:tLDrWzmC] GtkMenuToolButtonをGtkUIManagerで簡単に作る方法は? UIのXMLとGtkActionEntryで一元的に管理したいんだが。
814 名前:login:Penguin [2006/09/21(木) 07:39:24 ID:5S0sHSq3] すいません、質問です。 Windows で半角英字には Arial 10 を、日本語には MS PGothic 10 をと言うように、 別々にフォントを rc ファイルで指定したいのですが、無理ですか…? font_name="Arial 10,MS PGothic 10" は試したのですが、ダメでした…。
815 名前:login:Penguin mailto:sage [2006/09/22(金) 05:29:30 ID:oc0o+F4Y] >>814 GNOME使ってるなら gconf-editorで /desktop/gnome/interface/font_name Arial, MS PGothic 10
816 名前:814 mailto:sage [2006/09/22(金) 07:13:17 ID:shCBdU/U] >>815 ありがとうございます。GNOME は使っていません。 単体なソフトなもので…。 もう少しいじってみます。
817 名前:login:Penguin mailto:sage [2006/09/23(土) 02:53:42 ID:DBZDIlnA] >>816 試してないけど、 GtkSettingsで "gtk-font-name"というプロパティを Arial, MS PGothic 10 に設定したらできるかも
818 名前:814 mailto:sage [2006/09/23(土) 09:00:47 ID:oVJ5FxNJ] >>817 ありがとうございます。 試してみたのですが、だめでした…。 実は後で気がついたのですが、 font_name="Arial, MS PGothic 10" は FreeBSD でうまく行って、Windows ではうまく行かないことが分かりました。 日本語は GTK デフォルトのフォントになってしまうようです。 (firefox とか thunderbird とかと同じ) よく分からないのですが、放置しておきます。とほほ…。
819 名前:814 mailto:sage [2006/09/26(火) 09:24:06 ID:G1FxsBCP] 一応自己解決しました。 font_name="Arial,MS PGothic 10" ですが、コンマの後にスペースがあると、 Windows ではダメなようです。(FreeBSD では OK ですが) なんかちょっと悲しい。
820 名前:login:Penguin mailto:sage [2006/10/06(金) 23:35:59 ID:s7TA8Fbc] >>819 遅レスだがメモメモ…
821 名前:login:Penguin mailto:sage [2006/10/26(木) 22:56:28 ID:gIte4gPi] ちょいと質問なんですが、gtk_label_get()の第二引数って、取得したテキストを指すポインタのポインタの領域をmalloc等で領域確保する必要はないんですか? char *s; GTK_LABEL(label),&s); として、sをg_mallocしてg_freeしたら、なんか実行時にエラーが出ました。 知ってる人いたら教えてください。
822 名前:login:Penguin mailto:sage [2006/10/26(木) 23:16:38 ID:/n9s8yCa] >821 >It does not make a copy of this string so you must not write to it. なので下手にいじってはいけない。多分constと思っていい。 あとそれdeprecated。
823 名前:821 mailto:sage [2006/10/26(木) 23:48:57 ID:gIte4gPi] >822 ありがとうございました。(コードが一部抜けてました。) gtk_label_get(GTK_LABEL(label),&s); とした場合、sがconst扱いになるということですね? あと、deprecatedというのは、gtk_label_get()の使用は推奨されてないということでしょうか? ならば、ラベルの名前を取得する方法は、どうすればよいでしょうか?
824 名前:login:Penguin mailto:sage [2006/10/26(木) 23:54:02 ID:1m0EYGYM] >>823 gtk_label_get_text() or gtk_label_get_label()
825 名前:821 mailto:sage [2006/10/27(金) 00:36:56 ID:l81dNlg+] >824 ありがとうございました。
826 名前:login:Penguin mailto:sage [2006/11/02(木) 00:27:19 ID:83qYmDpR] GtkWindow のサイズをマウスを使って変更したときに、 マウスボタンを離すまでシグナルが発生しないようにしたいんですけど GTK+のチュートリアル読んでもさっぱり・・・ どなたか手がかりを下さいませんか。 今のままだとサイズ変更の途中で再描画されてしまってマズー
827 名前:login:Penguin mailto:sage [2006/11/04(土) 03:13:31 ID:oVt1SXTf] どちらかっていうと Window Managerの設定じゃないの? と、思い付きを書いてみる。
828 名前:login:Penguin mailto:sage [2006/11/04(土) 07:40:52 ID:wQVg/xG3] g_signal_handler_blockとg_signal_handler_unblock だったと思う
829 名前:login:Penguin mailto:sage [2006/11/04(土) 20:06:13 ID:taceIu9P] >>827 私もそう思った。 opaqueとかoutlineとかいう名称でいろんなWMで設定できる項目だと思う。 ソフトの方でその動作を組み込むこともできなくはないんだろうけど。
830 名前:826 mailto:sage [2006/11/05(日) 22:06:22 ID:rcTSwJgs] 提案ありがとうございます。WMですか。 Windowsでやってるのでその辺の設定がちょっと。 g_signal_handler_block あたりで何とかチャレンジしてみます。
831 名前:login:Penguin mailto:sage [2006/11/08(水) 09:48:14 ID:CnqaUpTW] 画面のプロパティ→デザイン→効果→ 「ドラッグ中にウィンドウの内容を表示する」をoff Windows XPの場合。
832 名前:826 mailto:sage [2006/11/12(日) 11:01:10 ID:bAXTQ/Hd] 結局、Eventboxとgtk_widget_size_request使って実装しますた。 ボタンイベントの座標を取得して、 Eventboxの右下の部分だけに反応するようにいじりました。 これだとリサイズ中の枠とかは出ないのが難点ですけど。 831さんの方法が一番スマートだとは思いますw 皆さんありがとん。
833 名前:login:Penguin mailto:sage [2006/11/17(金) 00:05:19 ID:LQk3CfzK] 質問ですが、gtk_main_quit()した後って、作ったウィジェットとかが確保していたメモリは全てフリーされるのでしょうか? さらに、GDKのウィジェット(GdkPixmapとか)も開放されるのでしょうか?
834 名前:login:Penguin [2006/11/24(金) 14:25:27 ID:7Nf7BP84] おい、お前ら JCL切ってパンチカードでFORTRANプログラムやってた漏れが来ましたよ。 GLib, GObject, Pango, ATK, GdkPixbuf, GDK について取り合えず概要を教えやがれ。
835 名前:login:Penguin mailto:sage [2006/11/24(金) 14:32:58 ID:I7rtRk4j] 消えろカス
836 名前:login:Penguin [2006/11/24(金) 15:05:31 ID:7Nf7BP84] Linux遣ってる香具師って人間性に問題ある奴が多いんだよな。 そんなことはない!835見たいな奴は俺も嫌いだ!って香具師がいるなら834にレス寄越せや。
837 名前:login:Penguin [2006/11/24(金) 16:34:59 ID:N0elR/SA] そっか 835みたいなのがデフォルトなのか。
838 名前:login:Penguin mailto:sage [2006/11/24(金) 18:24:29 ID:YADT00jb] プログラミングやる気があるならググレよ
839 名前:login:Penguin mailto:sage [2006/12/04(月) 21:52:48 ID:739N7ZVz] >>838 ググったらここにたどり着いたんだろ。 他にGTK+関係の掲示板ってあるのか?
840 名前:login:Penguin mailto:sage [2006/12/05(火) 15:51:35 ID:Zc3lkiGA] 少なくともGTKでぐぐった結果の質問とは思えないな。
841 名前:login:Penguin [2006/12/09(土) 02:26:24 ID:t58tuYkG] 質問させてください。 DebianでGTK+を使ったプログラムをコンパイルする際に、必要となる パッケージを教えていただけないでしょうか?
842 名前:841 [2006/12/09(土) 02:49:19 ID:t58tuYkG] libgtk2.0-devをインストールしたらコンパイルできました。 お騒がせしました。
843 名前:login:Penguin [2006/12/22(金) 16:34:29 ID:WGodCSmn BE:91837692-2BP(1002)] ごめんなさい。質問です。 glade2.12 + libglademm-2.4 + gtkmm-2.4でGUIアプリ作成しています。 glade上で作成したカスタムダイアログ(名前 = dialog_add)を、 メインウィンドウ上のボタン押下でモーダル表示させたいです。 ダイアログのプロパティは 初期「表示可否」は 「いいえ」 「モーダル」を「はい」 にしています。 Gtk::Dialog* dialog_add = 0; m_refGlade->get_widget("dialog_add", dialog_add); dialog_add->run(); として表示させたいのですが、 表示されるダイアログがタイトルバーが付いていないし、「キャンセル」や「OK」 ボタンを押しても反応してくれません。 何かやり方が間違っているのでしょうか? glade使わないカスタムダイアログの作成方法の参考ページはあったのですが、 glade使用した例は見付かりませんでした・・・。 どなたかご教授ください。
844 名前:login:Penguin mailto:sage [2006/12/23(土) 03:24:31 ID:kVWxGBD4] gtk_dialog_runの使い方とか使用例をもっとよく調べるといいよ
845 名前:login:Penguin mailto:sage [2006/12/25(月) 00:04:10 ID:m4WzEBN4] とりあえず gtklab.sourceforge.jp で、初歩の初歩は分かった。 次はフォントの選択方法を知りたいという人間は 何見ればいいすか。
846 名前:login:Penguin mailto:sage [2006/12/25(月) 22:06:24 ID:j/37M/hz] ttp://www.gtk.org/ の GTK+-2.0 Tutorial か API Reference じゃない? フォントの選択方法ってなんだろう? ダイアログなら GtkFontSelectionDialog があるけど。
847 名前:login:Penguin mailto:sage [2006/12/26(火) 14:37:34 ID:715StEwX] フォントの扱いを飲み込むためにもPango眺めとくのは必須だろ。
848 名前:login:Penguin mailto:sage [2006/12/26(火) 16:35:39 ID:SUHLiAKP] プログラミングじゃ無いんだけど gtkrcの情報交換してるとこは何処? engineによって書式も様々なんで
849 名前:login:Penguin [2006/12/30(土) 00:11:53 ID:AKdqp1vp] SUSE 9.2でリソースファイルで色設定しても反映されません。 同じソースとリソースファイルでSUSE10.2で実行すると反映されます。 また、SUSE10.2でもボタンのラベルに色がつくのですが、 ボタンそのものに色が付きません。 この辺詳しいHPとかありませんかね?
850 名前:login:Penguin [2007/01/11(木) 13:58:24 ID:fD42ZP3M] X/Toolkit(?)のXtAppAddInput()というモジュールと同等の機能を持つ GTKのモジュールってありますか? 開発言語はC言語です。 う〜ん、探しても見つけられなかった。探し方が悪いのかな・・・?
851 名前:login:Penguin mailto:sage [2007/01/11(木) 14:28:22 ID:SmIH3fhc] >>850 XtAppAddInput()がどういうものか説明すればいいのに。 そういうききかただとX/Toolkit(?)とGTKの両方を知っている人しか答えられないでしょ。
852 名前:850 [2007/01/11(木) 14:34:57 ID:fD42ZP3M] >>851 その通りですね。 XtAppAddInput()は指定したファイルディスクリプタの状態が 変化(Read、Write、Exe可能になった等)した場合に登録したコールバック関数を 呼び出すというものです。 select()にコールバック関数呼び出し機能を追加した感じのモジュールです。
853 名前:login:Penguin mailto:sage [2007/01/11(木) 15:11:36 ID:SmIH3fhc] >>852 こういうの? www.gtk.org/tutorial/x1772.html 日本語訳:www.gnome.gr.jp/docs/gtk+-2.0.x-tut/sec-monitoringio.html Exe可能ってのはないけど…。
854 名前:850 [2007/01/12(金) 18:37:22 ID:xAKQOOb4] >>853 ありがとうございます gdk_input_add()で、できそうですね。
855 名前:login:Penguin mailto:sage [2007/01/12(金) 19:52:55 ID:diKM4N2h] glib の Main Event Loop あたりを使うんじゃないかと思うんだが…。
856 名前:login:Penguin [2007/02/01(木) 18:51:51 ID:oa7P0Xiu] GTK+でテキスト文字(漢字)をgtk_label()で描画するときに、 フォントのサイズで位置調整したいんですが、幅を取得する関数ってないんでしょうか? gdkでフォントセットをロードして描画する時は、gdk_text_width()が使えるんですが。。 gtkだけで簡単に済ませたいので。 よろしくお願いします。
857 名前:login:Penguin [2007/02/03(土) 08:37:48 ID:yTpUnzEZ] gtk+2.0でボタンwidgetとlabel widgetを 生成・消去(destroy)を繰り返し て走らせておくと徐々にメモリを食いつぶしているようにみえるんですが… そう言うのを確認した人いますか? もし居たら対策は?
858 名前:login:Penguin mailto:sage [2007/02/05(月) 21:07:30 ID:YgSmvrHE BE:102858252-2BP(0)] >>857 memprof とか valgrind 使って本当にメモリリークしてるか確かめてみて
859 名前:login:Penguin mailto:sage [2007/02/05(月) 21:39:19 ID:4W+LgzvZ] >>857 やってみたけどシステムモニター眺めてわかる程のリークはしてないように見えるが。 #include <gtk/gtk.h> int main(int argc, char *argv[]) { gint i; GtkWidget *box; gtk_init(&argc, &argv); box = gtk_vbox_new(FALSE, 0); for(i = 0; i<1000000; i++){ GtkWidget *label = gtk_label_new("label"); GtkWidget *button = gtk_button_new(); gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0); gtk_widget_destroy(GTK_WIDGET(label)); gtk_widget_destroy(GTK_WIDGET(button)); } return 0; }
860 名前:login:Penguin mailto:sage [2007/02/05(月) 23:38:43 ID:jQ+mHrDJ] デストローイ忘れしてるだけなんじゃねーの
861 名前:login:Penguin mailto:sage [2007/02/06(火) 05:25:55 ID:goDIpkB2] 単にキャッシュなだけじゃないの?(参考: ttp://www.gtk.org/faq/#AEN703) 俺も前に気になった事があるけど「食い潰す」まで行く事は無いし 最終的には解放されるからもう気にしてない。
862 名前:login:Penguin mailto:sage [2007/02/08(木) 03:13:47 ID:678pSSYu] >>857 developer.gnome.org/doc/API/2.0/gtk/gtk-question-index.html の 1.5 とか。これは俺も最近まで知らなんだ…。
863 名前:login:Penguin mailto:sage [2007/02/10(土) 07:26:44 ID:3Xia/9JA] チュートリアルのrulers.cを改造して、ウインドウサイズを変更したときにルーラの目盛りも 更新するようにしたいんだけど、drawing_areaはサイズを取得出来ない・・・よね? かといってgtk_window_get_size(window, w,h);だと全体の窓サイズになってしまうし どうすればいいですか。
864 名前:login:Penguin mailto:sage [2007/02/10(土) 09:06:07 ID:cB1+Mmyj] >>863 drawing_area の configure-event 見ればいんじゃね?
865 名前:login:Penguin mailto:sage [2007/02/10(土) 18:25:05 ID:3Xia/9JA] 朝からずっと調べ続けて今ようやくわかった・・・。 expose_event で GdkEventExpose から area を参照するのね。
866 名前:login:Penguin [2007/02/14(水) 09:42:58 ID:BwmsCoUm] ファイラのようなファイルの mime タイプに応じたアイコンが並んでいるリストを作りたいんですが、 どうしたらいいんでしょうか。 手がかりだけでもかまわないので、ご教授お願いします。
867 名前:login:Penguin mailto:sage [2007/02/15(木) 02:32:20 ID:l0yfSnwW] GtkIconViewを使えって話じゃないのかな? ファイラってのがよくわからんが。 (Windowsの explorerはいつも「詳細」にして使ってるんで)。 mime-typeに応じたアイコンを取得したいってのなら、知らん。 まず、やりたいことを分割して曖昧じゃない日本語で箇条書きにして、 必要度、依存関係を書いて提示しろ。 できればこんなところに質問しないか。
868 名前:login:Penguin mailto:sage [2007/02/16(金) 17:15:53 ID:zsLloLAV] Explorerを詳細表示にして使ったところで、ファイル名の左側に 拡張子に応じたアイコンが表示されてるじゃん。
869 名前:login:Penguin [2007/02/17(土) 15:44:53 ID:fKE+Jy3+] たとえば、firefox で実装されているように、 * あるアプリケーションがすでに実行されていた場合は新しくタブでドキュメントを開く * そうでなければ、新しいウインドウでドキュメントを開く という動作を実行するのには、どういう仕掛けを使うのが一般的なのでしょうか?
870 名前:login:Penguin [2007/02/17(土) 16:43:58 ID:KR0sG7u1 BE:253234144-2BP(0)] >>869 1. プログラムを起動したときに別のインスタンスがいないかどうか確認 2. インスタンスがいたときにはそいつにメッセージ(Firefoxの場合ドキュメントのURLかな)を渡して自分自身は終了 ってことでいいかな?結局多重起動のチェックとプロセス間通信がやれればいいのね。 SylpheedではUNIXドメインソケットで1,2をやってるみたい。 Gtk+周辺のテクノロジで固めたいならD-BUSを使ってもいいかも
871 名前:login:Penguin mailto:sage [2007/02/17(土) 18:22:53 ID:CMTL+Fmk] >>870 は同じホストしか考えないプログラムの場合の一般論であって、 Xの場合はとるべき手段が違ってくる。 netscapeはXプロパティ経由で通信するので、同じスクリーンにウィンドウが 開いていればプロセス自体は別のマシンでも通信できる。 firefoxも同じ。 GDK/GTK+にXプロパティなんかのラッパーがあるかどうかは知らない。 それで見付からないなら諦めるもよしプロセスを起動するもよし、で 起動するのならば、通常のプログラム同様データファイルの一貫性保護 などを目的としてロックファイルなどによる多重起動チェックをやればいい。
872 名前:login:Penguin mailto:sage [2007/02/19(月) 23:16:35 ID:5FZGim03] >>869 とりあえずこれ読んでみたら? GTK+だけで実装しているっぽい。 gtklab.sourceforge.jp/gtkwin/gtkwin10.txt
873 名前:login:Penguin mailto:sage [2007/02/20(火) 08:11:40 ID:ONtjkv3E] ウィンドウを作らないとチェックできないのがちょっと嫌かも。 あと既に動いてるプロセスがサスペンドされたりしてたら それが復活するまで判定が終了しないんじゃね。
874 名前:login:Penguin [2007/02/22(木) 15:48:43 ID:jpFFYqu/] GTK 1.2から2.0に切り替えたら、XTestライブラリが使えなくなっちゃたんですが。 linkでエラーになります。(Undefined reference `XTestQueryExtension`) 知ってる方いましたらお願いします。 ディストリ Vine4.0 gtk2-2.4.13 分からないので、XTestをやめてXSendEvent()とかを使って書き直してます。
875 名前:login:Penguin mailto:sage [2007/02/22(木) 18:24:28 ID:ARkHAdB3] 単に-lXtstをGTKがリンクしなくなっただけでは。
876 名前:login:Penguin mailto:sage [2007/02/23(金) 09:24:50 ID:Toss6a7K] >>875 うまくlink出来ました。ありがとうございました。
877 名前:login:Penguin mailto:sage [2007/02/24(土) 17:34:31 ID:M/6/J6Qq] gtk1のソースをgtk2に変更するツールはありますか?
878 名前:login:Penguin mailto:sage [2007/02/24(土) 17:40:30 ID:R3/FZlN8] なんでも「ツール」と呼べば済むと思ってるんじゃねーぞ。 そういう奴が女性を産む機械だとか抜かすんだ。
879 名前:login:Penguin [2007/02/24(土) 18:49:12 ID:M/6/J6Qq] gtk1のソースをgtk2に変更するスクリプトはありますか?
880 名前:login:Penguin mailto:sage [2007/02/24(土) 20:15:03 ID:tree4KTM] スクリプトキディおつ えーと、あれだ。ない。
881 名前:login:Penguin [2007/02/24(土) 20:31:22 ID:Z7G0MF3p] >>878 を女性を産む、機械と読んでエロゲーとか思ったのはおれだけじゃないはずwwwwwww
882 名前:login:Penguin [2007/02/25(日) 16:21:18 ID:jPY2U1RH] あるウィジットの大きさを一定以上に広がらないようにしたいのですが、どうするのが正解ですか?
883 名前:login:Penguin mailto:sage [2007/02/25(日) 20:12:20 ID:xIfK6WPJ] いつもGladeで設定しちゃってる。
884 名前:login:Penguin mailto:sage [2007/02/26(月) 18:41:50 ID:pt8OB6ru] 前から思ってたんだが、なんでみんなlibglade使わないの? 便利なのに……
885 名前:login:Penguin mailto:sage [2007/02/26(月) 19:58:31 ID:uj4cgUSY] ライブラリ依存がどんどん激しくなるよね。 C++なんか使ってたら、hohogemmなんてリンクするものがどんどん増えていく。 ああいうの一つにまとめて標準で入れておいてくれたらもっと楽なんだけどなあ。
886 名前:login:Penguin [2007/03/03(土) 08:59:18 ID:iO4b+0oy] Windows での話しなのですが、GtkTextView を作った時に同時に日本語入力を オンにすることってできますか? input method 関係を探したんですが、どうも見つからなくて…
887 名前:login:Penguin mailto:sage [2007/03/04(日) 07:57:59 ID:gI/IeUsG] それってGTK側でやる仕事なのかなぁ。 ちょろっと調べただけだけど、ImmGetConversionStatus()でIMEの状態を調べて keybd_event()でVK_KANJIじゃない?win32apiの範疇だと思うけどな。
888 名前:login:Penguin mailto:sage [2007/03/05(月) 13:11:27 ID:n32uogVx] >>887 どうもありがとうございます。 考えてみれば Windows の API でやるのが正しいですね。 書き込みして気づきました。 ありがとうございました。
889 名前:886 mailto:sage [2007/03/06(火) 02:47:16 ID:rlQdCBer] GTK とは関係なくなってしまいましたが、 www.cam.hi-ho.ne.jp/oishi/tips.html#ime に書いてありました。ここの SetInputMethodOpenStatus() がそのまま使えました。 お手数おかけしました。
890 名前:login:Penguin [2007/03/11(日) 10:56:27 ID:bVyF8jVB] >889 そこにあるコードは著作物なのだが。
891 名前:login:Penguin mailto:sage [2007/03/11(日) 22:40:07 ID:RO7bywIf] >>890 これを見るとrpmコマンド叩くにも>>889 のリンク先に許可を求めないといけなくなるんだよね。 著作物だし。
892 名前:login:Penguin [2007/03/12(月) 09:27:43 ID:slT8Ay77] gtk_window_new() でwindow生成後に、最小化してwindowを隠すにはどうすればいいんでしょうか? 教えてください m(_ _)m
893 名前:login:Penguin mailto:sage [2007/03/12(月) 12:04:53 ID:WX8P/QrK] gtk_window_iconify() てかマニュアルぐらい読め
894 名前:login:Penguin mailto:sage [2007/03/12(月) 15:37:48 ID:slT8Ay77] >>893 ありがとうございます。m(_ _)m
895 名前:886 mailto:sage [2007/03/14(水) 00:53:00 ID:LNXDqswG] >> 890 結局必要なのは ImmSetOpenStatus() ぐらいなものなので、 #include <gdk/gdkwin32.h> void ImmSetStatus(GtkWidget *widget, ImmStatus status) { HWND hWnd = (HWND) GDK_WINDOW_HWND(widget->window); HIMC hIMC = ImmGetContext(hWnd); /* Set IMMM status */ ImmSetOpenStatus(hIMC, (status == IMM_ON)); /* Release context */ ImmReleaseContext(hWnd, hIMC); } ってしたよーん。ってほとんど GTK と関係ないっすね。
896 名前:login:Penguin mailto:sage [2007/03/19(月) 02:53:53 ID:IBwC1/nU] せっかくGTK使ってるのにプラットフォーム依存にしてしまうの?
897 名前:login:Penguin mailto:sage [2007/03/20(火) 00:43:22 ID:SW3xr29J] MinGWでgtkを勉強してるんですが、プログラムを実行するときに、 syntax error near unexpected token `main(' と出てきて、 プログラムが強制終了してしまうんですが、誰か対処法を知っていたら教えて下さい。 コンパイルは一応通ってるとは思うんですけど・・・・・。
898 名前:login:Penguin mailto:sage [2007/03/20(火) 02:09:03 ID:pOTrHDbj] とりあえずソースを晒すといいかも
899 名前:login:Penguin mailto:sage [2007/03/20(火) 04:42:36 ID:yYm494xv] GTK以前に hello worldとかを compile & 実行できているかが気になる。
900 名前:login:Penguin mailto:sage [2007/03/20(火) 16:13:54 ID:SW3xr29J] >>898 エラーがで出てたのは、このウィジェットだけを配置する プログラムなんですが、 #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *button1; GtkWidget *button2; GtkWidget *button3; GtkWidget *button4; GtkWidget *button5; GtkWidget *table; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); table = gtk_table_new(10,10,FALSE); gtk_container_add(GTK_CONTAINER(window),table); button1 = gtk_button_new_with_label("BTN1"); button2 = gtk_button_new_with_label("BTN2"); button3 = gtk_button_new_with_label("BTN3"); button4 = gtk_button_new_with_label("BTN4"); button5 = gtk_button_new_with_label("BTN5"); //前半
901 名前:login:Penguin mailto:sage [2007/03/20(火) 16:15:20 ID:SW3xr29J] //後半 button1 = gtk_button_new_with_label("BTN1"); button2 = gtk_button_new_with_label("BTN2"); button3 = gtk_button_new_with_label("BTN3"); button4 = gtk_button_new_with_label("BTN4"); button5 = gtk_button_new_with_label("BTN5"); gtk_table_attach_defaults(GTK_TABLE(table),button1,0,2,0,10); gtk_table_attach_defaults(GTK_TABLE(table),button2,2,4,0,10); gtk_table_attach_defaults(GTK_TABLE(table),button3,4,6,0,1 ); gtk_table_attach_defaults(GTK_TABLE(table),button4,6,8,1,2 ); gtk_table_attach_defaults(GTK_TABLE(table),button3,8,10,2,3); gtk_widget_show_all (window); gtk_main (); return 0; }
902 名前:login:Penguin [2007/03/20(火) 16:16:54 ID:SW3xr29J] >>899 不安になってやってみたら「hello, world」も同じエラーがでてきてできませんでした..orz。 #include<stdio.h> int main() { printf("hello, world"); return 0; } gtk+ チュートリアルのへろーわーるどは実行できるんですけど、 プログラムが終わると同じエラーがでてきます。 ぐぐったら、文字コードが関係してるらしいんですが、どれでやってもダメでした。 LINUXでやれっていうことなんですかね............。
903 名前:login:Penguin mailto:sage [2007/03/20(火) 16:56:26 ID:u2b4TE2D] mingwをインストールしなおせ
904 名前:login:Penguin mailto:sage [2007/03/21(水) 03:54:17 ID:Ay+CzKM3] >>872 今更だけど、gtklab.sourceforge.jp/gtkwin/gtkwin10.txt の方法だけど Win ではうまくいかなかった。 なので普通に Win API を使うしかなかった。 >>902 俺は gladewin32.sourceforge.net/modules/news/ の GTK ライブラリ使ってるけど、 問題なかったよ。
905 名前:login:Penguin mailto:sage [2007/03/21(水) 15:08:14 ID:mdl7DVyg] >>897 syntax error near unexpected token `main(' これは実行時ではなくてコンパイル時のエラーメッセージではないのか。
906 名前:login:Penguin mailto:sage [2007/03/21(水) 15:33:43 ID:h4G4UgJx] あのね、ここはLinux板でしてね win32-portのことならム板にスレがあるからそっちに行ってほしいんだ
907 名前:login:Penguin mailto:sage [2007/03/21(水) 15:44:01 ID:OzGdWDRq] >>904 WindowsではWindowsのAPIを使うのが正解かもね。 その文書を書いた人が公開しているプログラムでもそうしてるみたい。 cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/vmaid/vmaid/orz/orzcomm.c?view=markup
908 名前:login:Penguin mailto:sage [2007/03/22(木) 06:20:18 ID:nC3vS/QI] >>906 ム板には無いような気がするなぁ。 マイナーGUITKを「紹介するだけ」のスレはあるようだけど。 見落としてる?
909 名前:login:Penguin mailto:sage [2007/03/22(木) 08:16:50 ID:P6YXu+FN] >>908 GTKやめて、FOX Toolkitで作るといいよ
910 名前:login:Penguin mailto:sage [2007/03/22(木) 11:05:43 ID:nC3vS/QI] >>909 突然、何? なにかが気に障ったなら謝るよ。ゴメンナ。
911 名前:login:Penguin mailto:sage [2007/03/22(木) 17:19:08 ID:NVYlVu8k] >>904 >>906 が言ってるのはここの事では。 Gtkプログラミング on Windows!!! ttp://pc11.2ch.net/test/read.cgi/tech/1147024203/
912 名前:login:Penguin mailto:sage [2007/03/22(木) 18:01:50 ID:oCFS6K5y] >>900 int main(int argc, char *argv[]) を gint main(gint argc,gchar *argv[])に変えてみろ
913 名前:login:Penguin [2007/03/29(木) 16:50:34 ID:dC+/1rKX] GTKのwidgetにMozillaをのっけてアプリケーションを作った人いますか? 不具合とかあったら教えてください!
914 名前:login:Penguin [2007/04/01(日) 02:44:59 ID:RjtNty3y] すいません、質問させてください。文字を90度回転させるにはどうしたらいいですか?
915 名前:login:Penguin mailto:sage [2007/04/03(火) 01:42:21 ID:99UCu54W] ついに、自前の C++ マーシャラーを作成して、シグナルにコネクトできるようになったぜ! こんな感じ。 class Test { public: Test() : dummy(123) { } void hello (GtkWidget *widget, gpointer data); private: int dummy; }; void Test::hello (GtkWidget *widget, gpointer data) { g_print ("Hello World C++ %d\n", dummy); } g_signal_connect_cc (button1, "clicked", &test, &Test::hello, 0); これで、button1をクリックすると、 Hello World C++ 123 と出力される。v(^O^)v 素の GTK+ を使いつつ C++ でプログラム出来るのはかなりおいしい。
916 名前:login:Penguin mailto:sage [2007/04/03(火) 05:09:44 ID:EaZCa4Le] >>914 GTKをインストールした時についてくる gtk-demo で、 Rotated Text というのがあるので、それを見たらいいと思う。 gtk-demoでソースも見れるよ。
917 名前:login:Penguin mailto:sage [2007/04/03(火) 19:04:41 ID:YnFjw9iH] >>915 あ、それよさげ。 全体としてはC++でコーディングしたいけど、GTK+周りは初心者なので 素のCでやりたいと思ってた。gtkmmとか使うのも考えたけど、本家(?)の GTK+の方が情報揃ってそうだったし。
918 名前:915 mailto:sage [2007/04/04(水) 03:16:21 ID:4cUWSG/i] こんな時間になったけど、めげずにカキコ。 GTK+ が他のツールキットと違うのは、コールバック関数を呼び出す際に、 引数をスタックに積まないで、ヒープに型情報と共に保存して、 シグナルに登録されたマーシャラーを呼び出す。 呼び出されたマーシャラーは、データを取り出して、コールバック関数に 合った方法で引数に変換して、コールバック関数を呼び出す。 というところまで分かったんで、だったら、C++ のメソッドを呼び出せる ように出来るんじゃないかと思ったのがきっかけ。 gtkmm を使いたくないのが一番の理由だけどw とりあえず、これからブログを開設するんでwwwそっちに載せるつもり。
919 名前:914 mailto:sage [2007/04/04(水) 20:46:07 ID:fydXVgVP] >>916 情報ありがとうございますm(_;_)m gdkのpangoインターフェースというのがあるんですね。 (でも2.6からみたいなので拙の2.4ではだめかも…)
920 名前:login:Penguin mailto:sage [2007/04/12(木) 18:45:31 ID:AmiOQVwy] textviewについて質問です 表示行数を増やしたときに、その新しい行が見えるように、一番下までスクロールすることにしました。 text_buffer_insertして end_iterにscroll_to_iterしています。 しかし、これを実行しても、最後の行までスクロールされません 最後のカーソルがひとつあるだけの行と、その上の行が見えません(つまり、こちらの意図より2行うえにずれてる) もちろん、スクロールバーも、下がちょびっと残っていて、一番したまでぴったり動きません テキストビューを一番下までスクロールする方法を教えてください