- 1 名前:login:Penguin [2001/07/22(日) 22:31]
- 俺の様な厨房プログラマーをある程度使えるようにまで育成して、和製糞ソフトを
大量量産するのが目的のスレッドです。 とりあえずGNOMEプログラミング(小学館)を買ってきました。 これから読んでみます。
- 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行うえにずれてる) もちろん、スクロールバーも、下がちょびっと残っていて、一番したまでぴったり動きません テキストビューを一番下までスクロールする方法を教えてください
|

|