[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/27 01:06 / Filesize : 255 KB / Number-of Response : 921
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GTK プログラミング!!



1 名前:login:Penguin [2001/07/22(日) 22:31]
俺の様な厨房プログラマーをある程度使えるようにまで育成して、和製糞ソフトを
大量量産するのが目的のスレッドです。
とりあえずGNOMEプログラミング(小学館)を買ってきました。
これから読んでみます。

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行うえにずれてる)
もちろん、スクロールバーも、下がちょびっと残っていて、一番したまでぴったり動きません

テキストビューを一番下までスクロールする方法を教えてください






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef