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

|