[表示 : 全て 最新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プログラミング(小学館)を買ってきました。
これから読んでみます。

437 名前:login:Penguin mailto:sage [04/03/28 19:39 ID:JRuDttB9]
>>436
前もどっかで書いたんだが、gtkmmに対するQtの有利な点て何?
独自のプリプロセッサ使ってる分汎用性低いし、STLとの相性も
gtkmmの方が良さそうな気が。

具体的にはオフィシャルFAQの
www.gtkmm.org/gtkmm2/docs/FAQ/html/index.html#id2432168
www.gtkmm.org/gtkmm2/docs/FAQ/html/index.html#id2432591
に対する反論が聞きたいです。

# 前に書いたときは、両方に通じてる人が少ないのか、反応なしだったなぁ。

438 名前:login:Penguin mailto:sage [04/03/28 20:09 ID:fUDrTxoN]
>>437
Qt好き(というかgtkmmは触ったことない)なだけで別に有利と思って使ってるわけではない。
あくまで個人的な意見だけど。例えば
>so that Qt classes can not be used easily with non-Qt classes.
については他のライブラリと組み合わせたとしても、Qtで組むのはMVCな構造ならViewの部分だから
View(Qt)がModelの(C++な)クラスを使うことはあっても逆はないから特に気にならない。

>In Qt, Containers and Layouts are separate classes, and child widgets must be added to both.
というのもレイアウトにはQtDesigner使えるしあまり関係ない気がする。

逆にgtk+なアプリでgtkmm使ってる例の方が少ないと思うんだけどどうしてなんだろう。
ライセンス的にもGPL至上主義者以外にとっては有利なはずなんだけど。

とか言いつつちょっとgtkmm使ってみようかとは思ってるんだけど。
(素のgtk+はやる気が起きない...)


439 名前:login:Penguin mailto:sage [04/03/28 21:27 ID:JRuDttB9]
>>438
なるほど、参考になったっす。

GTK使ってて直にC使う人が多いのは、まー惰性というか、文化ってやつじゃないでしょうか。UNIX環境では一番メジャーな言語でしょうから。

自分も、gtkmm使ってC++でやった方が効率的にできるんではないかと推測するんですが…
# C++自体に下手に深入りしなければ :-p
gtkmmを使ってる比較的メジャーなプロジェクトってないですかね。自分は寡聞にして存じません。

これも前どっかで書いたけど、Owenが以前言った(らしい)とおり、C以外の言語で開発したメジャーなGTKアプリがどんどん出てきて欲しいです。

440 名前:login:Penguin mailto:sage [04/03/28 22:31 ID:2rXU3IHl]
gtkmmがgtk+ほど使われない理由の一つは単純に入れるものが増えて
マンドラケってことじゃないかな。それはGARNOME使えや、ゴルァ!
とか言いたくもなるけど。

しかしながら、GNOMEでもオフィスものになるとC++で書かれる傾向
が強くなってるような気がする。AbiWordのように素のgtk+を使って
いるものもあるけど

Inkscape
www.inkscape.org/
Gestalter
www.linotux.ch/gestalter/
Passpartout
www.stacken.kth.se/project/pptout/

はgtkmmを使っている。


441 名前:login:Penguin mailto:sage [04/03/29 10:07 ID:VUEcUgl7]
C MAGAZINEの2002年11月にQtの記事が出ていたので
Qtを覚えてみようかと思ったけれど
プログラムやライセンスなどに制約がありそうなのでgtkmm2にした

gtkmm2はあまり使われていないのですね
日本語で解説したホームページが一件だけで悲しい。
ウイジットの大まかな解説だけでもあればだいぶ違うのに
英語のチュートリアルはなかなか大変

442 名前:login:Penguin mailto:sage [04/04/05 19:15 ID:y/kEmNyL]
おたずねします。
Glib::ustringをstd::stringやchar*に変換するにはどうしたらいいのでしょうか
教えてください。


443 名前:login:Penguin [04/04/05 22:28 ID:y/kEmNyL]
age

444 名前:login:Penguin [04/04/06 00:03 ID:GZxyDVkQ]
自己解決しました
const char* Glib::ustring::c_str ( ) const
というのを見逃してました。

445 名前:login:Penguin mailto:sage [04/04/06 21:32 ID:gcfhfboL]
GTK#って日本語通る?



446 名前:login:Penguin mailto:sage [04/04/06 22:08 ID:qtjhbKpC]
ここ見にきてる人ってどんなアプリ作ってるの?

google で検索してみても gtk でアプリ作ってるっていう日本語のサイト
はあまりない気がするし・・。古いの多いし・・。

447 名前:login:Penguin [04/04/07 01:30 ID:fxxNRgLA]
>>446
今、新しいgtkmm2で作ってる

448 名前:login:Penguin [04/04/09 09:22 ID:E9wQ2At3]
www10.plala.or.jp/always/develop/


449 名前:login:Penguin mailto:sage [04/04/09 10:32 ID:Y4el8t2X]
>448

ネタ的に古かったので削除していたのだが、一応、復活させときました。

450 名前:login:Penguin mailto:sage [04/04/09 12:34 ID:MWyF42lQ]
>>440
> gtkmmがgtk+ほど使われない理由の一つは単純に入れるものが増えて
> マンドラケってことじゃないかな。それはGARNOME使えや、ゴルァ!
> とか言いたくもなるけど。
GARNOMEっつーか、distroでパッケージ用意してもらうほうが先な気がする。
まぁGNOME Platform Bindingsに少し期待。

> Inkscape
> www.inkscape.org/

> はgtkmmを使っている。

ダウト。

451 名前:login:Penguin mailto:sage [04/04/09 13:53 ID:lHXUAkbr]
最初に手を出したのは、ファイルマネージャだった。
結局たいしたものにならず、音楽ファイル選択アプリと化してる・・。

>>448
gtk2化。期待してます。

452 名前:login:Penguin mailto:sage [04/04/09 14:30 ID:Y4el8t2X]
>>451

CxplorerのGtk2化が終わったら、それを題材にやろうかと思っています。

453 名前:login:Penguin mailto:sage [04/04/11 01:42 ID:F5VYGb6q]
GtkTreeViewについてはまった点を書いておきます。

cxplorer.sourceforge.jp/pukiwiki/index?%5B%5BPorting%2FGtkTreeView%2F%C3%ED%B0%D5%BB%F6%B9%E0%5D%5D

gImageViewのソースに助けられました。

454 名前:login:Penguin mailto:sage [04/04/13 00:48 ID:Fj29gwyS]
gtk_file_selection_new で出てくるセレクタに g_locale_to_utf8 って噛ませられるの?
日本語ファイル名が使えないのをなんとかしたいんだけど。

455 名前:login:Penguin mailto:sage [04/04/13 08:08 ID:l2SC64Ga]
fedra (UTF8環境)で、何もしなくても表示・選択できてます



456 名前:login:Penguin mailto:sage [04/04/13 21:03 ID:Fj29gwyS]
>>455
それはシステム自体でファイル名にも UTF-8 使ってるからだと思います。
従来の EUC-JP な環境用になんとかしたいんですが、やはりアプリ側では
なんともならないのでしょうか?

457 名前:login:Penguin mailto:sage [04/04/13 21:35 ID:BLXcmJM7]
>>454

エラーメッセージに出てるように、環境変数 $G_BROKEN_FILENAMES を指定すると
日本語の表示はできてるようだけど、他への影響あるのかな?

やってみた?

458 名前:login:Penguin mailto:sage [04/04/13 22:18 ID:Fj29gwyS]
>>457
できますた!アリガトン

459 名前:login:Penguin mailto:sage [04/04/16 16:40 ID:ZlX2qNUE]
外部アプリケーションからGTKアプリケーションに対して
あるトリガを与えてやり、それを受けたGTKアプリが
自分の表示内容を変更ということをしたいのですが
どうすれば良いでしょうか?

具体的には、あるデバイスの状態を監視する常駐アプリがあって
デバイス状態が変化したら、そのアプリが複数のGTKアプリに作用し
内容を変更させたいです。
また、複数のGTKアプリ達に同期をとらせるという意味もあります。

linuxのシグナルを使っても良いかと思ったのですが
GTKアプリの処理中に割り込まれて、内部状態を更新してしまったら
めちゃくちゃになりそうで躊躇しています。

どなたかお知恵をお貸し下さい。
よろしくお願いします。

460 名前:login:Penguin mailto:sage [04/04/18 13:25 ID:V2Ifc6oG]
>>435
"NO STARCH PRESS RELEASES THE OFFICIAL GNOME 2 DEVELOPER'S GUIDE"
www.gnomedesktop.org/article.php?sid=1753

訳出キボンヌ。

461 名前:login:Penguin mailto:sage [04/04/18 19:03 ID:sSYSAFlA]
>>460
GNOME2 がそろそろ広まってきたので、GNOME foundation でデベロッパー向けの
本を作るわ。という話。まずは英語版で、GLib や GTK、および GNOME の API
にるいてのものになるらしい。 ヽ(´ー`)ノワーイ

462 名前:login:Penguin mailto:sage [04/04/18 20:21 ID:hFjMsHHm]
www.nostarch.com/gnome_toc.htm
によると

Chapter 1: GLib
Chapter 2: GObject
Chapter 3: GTK+
Chapter 4: The GNOME Libraries
Chapter 5: Glade and libglade
Chapter 6: Additional Software Development Tools
Chapter 7: GConf
Chapter 8: GnomeVFS
Chapter 9: Where to Go from Here
Appendix A

らしい。Bonoboが独立した章がないのがちと気になるが、GNOME Platform
に関しては一通り網羅しているのではないかと思われる。

463 名前:login:Penguin [04/04/29 00:23 ID:zLrJuv9t]
(*^.^*)

464 名前:login:Penguin [04/04/29 13:25 ID:AQIokWzV]
Linux上でWindowsバイナリをコンパイル出来ませんか?

465 名前:login:Penguin mailto:sage [04/05/03 21:07 ID:M0W8aY3U]
関数 g_strdup_printf などは「必要なくなりしだい解放してください」と
指示されているのですが、自作関数中で その値を return で返したいときは
どのようにしたらよいのでしょうか?



466 名前:login:Penguin mailto:sage [04/05/03 22:08 ID:8XBp00PD]
>>465

returnをもらった側で処置するべし。

467 名前:465 mailto:sage [04/05/04 07:40 ID:gonpR3ix]
>>466
ありがとうございます。さっそく、組み込んでみようと思い、以下のように
してみましたが、これで大丈夫でしょうか?
よろしければ添削お願いします。m(_ _)m


/* g_strdup_printf の返り値を返す関数(失敗時は NULL を返す) */
gchar *use_g_strdup_inside(void);

void hoge_callback(StructData *struct)
{
if (struct->filename != NULL)
g_free(struct->filename);
struct->filename = use_g_strdup_inside();
}

gint main_process(foo bar)
{
StructData *struct = g_malloc(sizeof(StructData));
(略:struct の参照渡し)
gtk_main();

g_free(struct); /* これで struct->filename も一括解放? */
return 0;
}


468 名前:login:Penguin mailto:sage [04/05/04 07:42 ID:gonpR3ix]
        ああ、全角スペース使うんだったorz

469 名前:login:Penguin mailto:sage [04/05/04 10:11 ID:3Qvo40ij]
>>467
いわゆるC FAQの7.23と7.24を読んだら?
(ちなみにglibのソースをみたらg_freeは標準のfreeをよんでるだけですた)

ついでに 1.30も読んだ方がいいかも


470 名前:login:Penguin mailto:sage [04/05/04 10:47 ID:g8hk2YfL]
>>467
g_free(struct)でstruct->filenameのポインタは解放されるが、そのポインタの指し示す先までは解放してくれない。なので

g_free(struct->filename);
g_free(struct)
という手順を踏む必要がある。

471 名前:467 mailto:sage [04/05/04 11:57 ID:gonpR3ix]
>>469-470
ご回答ありがとうございます。

C FAQ 勉強になりました。さっそく struct の宣言の次で
  struct->filename = NULL;
と初期化するようにしておきます。

472 名前:login:Penguin mailto:sage [04/05/04 13:36 ID:A/bfn0Zs]
どうせならglibのソースも読んでみるといいかも。

473 名前:login:Penguin mailto:sage [04/05/05 13:19 ID:LzNkuX/q]
GtkItemFactory を使って
www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-13.html#ss13.4
に例示される方法でメニューを作成したのですが、
以下のようなメニューのコールバック関数

callback_example(gpointer data, guint action, GtkWidget *widget)

を作り、その中で gtk_widget_get_toplevel(widget) をしても、
メニューを含包しているトップレベル・ウィンドウを返してくれません。
また、gtk_widget_class_path(widget, NULL, &path, NULL) でつながりを調べると、
例の中にある menubar では、GtkWindow.GtkVBox.GtkMenuBar となりますが、
上記コールバック関数では、GtkWindow.GtkMenu.GtkImageMenuItem となり
思ったとおりに継承(?)していないようであることがわかりました。

そこで、これら2つのウィジェットを
GtkWindow.GtkVBox.GtkMenuBar.GtkMenu.GtkImageMenuItem
のような感じに接続することはできないでしょうか?よろしくお願いします。

474 名前:login:Penguin mailto:sage [04/05/05 14:13 ID:AJVBY2RD]
>>473
クリックした時に出てくるメニュー部分って、メニューバーやその親とは
直接関係のない独立したウィンドウになるので、無理と思われ。

なので、callbackには別の方法で情報を与えることになるでしょう。
例えば、gtk_item_factory_create_items()の最後の引数として与えた
ポインタが(例ではNULLになっている)、callback関数の最初の引数
dataとして得られます。使ったはことないけれど、
gtk_item_factory_create_items()の代わりに、メニューのアイテムの
数だけgtk_item_factory_create_item()を使えば、メニューアイテム
ごとにcallback引数を変えられるかもしれない。

が、一番の問題は、GtkItemFactoryがGTK+-2.4ではdeprecateされ
てしまっていることかもなー。

475 名前:login:Penguin mailto:sage [04/05/05 17:48 ID:LzNkuX/q]
>>474
根本的に無理なわけですか・・・。
deprecate の件もイタいですが、当面の互換性を優先して
細々と工夫して使っていきたいと思います。
ご回答ありがとうございました。



476 名前:login:Penguin [04/05/13 04:33 ID:d+lRJudN]
g_strsplitでseparatorに0x01を指定したいんですが、
どうやって表記すれば良いのでしょう。

g_strsplit(in,0x01,-1)や(in,"^A",-1)では
warning: passing arg 2 of `g_strsplit'
makes pointer from integer without a cast
と怒られてしまいます。

477 名前:login:Penguin mailto:sage [04/05/13 07:38 ID:NPGa5jCl]
>>476

g_strsplit(in,"\1",-1)

だと思うのだが・・。

478 名前:476 [04/05/13 14:03 ID:d+lRJudN]
>>477
ありがとうございました。
ばっちりでした。

って言うかC言語を基本から勉強しないとだめっすね。


479 名前:login:Penguin mailto:sage [04/05/13 22:36 ID:gc1S+I63]
くだらない質問ですいません。
垂直スケールウィジェットを作成すると、上が最小値で下が最大値になるのですが、
一般的な感覚って下が最小値で上が最大値ですよね?
逆にすることはできないのでしょうか?

480 名前:login:Penguin mailto:sage [04/05/13 23:09 ID:btwft/BK]
gtk_range_set_inverted()あたりは試した?

481 名前:479 mailto:sage [04/05/13 23:20 ID:QSU6qp6Q]
>480
ありがとうございます。
絶対逆にする関数があるはずだと思っていたのですが、探し当てることができずにいました。
たすかりました。

482 名前:login:Penguin [04/05/16 23:55 ID:irWPIKTr]
リファレンスマニュアルにはシグナルの一覧とコールバックの型なんかは書いて
あるけど、そのシグナルがどんな時に出るか書いてないみたいです。
名前からわかるのはいいのですが、そうでない場合にシグナルがどんな時に出るかを
調べるにはどうすればいいんでしょう?

今は、全てのコールバック関数を書いてみて試したり、ソース読んだりしてますが、
遠回りしてる気がするんです・・。


483 名前:login:Penguin [04/05/20 14:27 ID:76aPgkOx]
本当にそうだと思う
チュートリアルのサンプルプログラムを見て覚えるしかないのかなぁ


484 名前:login:Penguin mailto:sage [04/05/20 23:23 ID:jcLcMA6y]
本当に本当にそうだと思う。
いま、gtkを使い始めたがそう感じたよ。
と言いつつも俺の探し方が甘そうなのでsage

485 名前:login:Penguin mailto:sage [04/05/20 23:29 ID:6iu3BFuD]
ならキミが調べた結果を本にまとめて売り出せばウハウハなんじゃねーの?



486 名前:login:Penguin mailto:sage [04/05/21 21:48 ID:L27/iJm2]
>>482
わからんシグナルって例えば何?

487 名前:login:Penguin mailto:sage [04/05/31 11:40 ID:fLelOzr3]
GTK+(Glade)でGUIアプリを作成しています。

作成したアプリのアイコンを設定したいのですがどうすれば良いのでしょうか?
また、アイコンのフォーマットは*.icoとかをそのまま使えますか?

488 名前:login:Penguin mailto:sage [04/05/31 16:46 ID:0eRi0Au3]
質問です。

GTK+ 1.2をつかっていろいろ試しているところなのですが、
ScrolledWindowをつかうとマウスでぐりっとやるとウィンドウがスクロールしてくれます。
でも、PageUpとかPageDownなどキー操作ではスクロールしてくれません。
どうすればいいですか?
どの辺を調べれば良いかキーワードだけでも教えてください。
よろしくお願いします。

489 名前:login:Penguin mailto:sage [04/05/31 17:23 ID:l37/WI1m]
>>488
GtkWidget の key_press_event でどう?

490 名前:488 mailto:sage [04/05/31 18:31 ID:0eRi0Au3]
>>489

お返事ありがとうございます。
そして、舌足らずでごめんなさい。
key_press_eventを使うというのは分かるのですが、
そのハンドラの中に何を書いて良いか分からないんです。
ScrolledWindowの関数の中に上にスクロールするとか
そういうの無いみたいなので…

出来の悪い子でホントにごめんなさい(つдT)


491 名前:login:Penguin mailto:sage [04/05/31 19:47 ID:xnMi74Da]
>>490
GtkAdjustment

492 名前:488 mailto:sage [04/06/01 12:17 ID:b9B2HGyQ]
>>491

ありがとうございます。
調べてみます。

493 名前:login:Penguin mailto:sage [04/06/01 14:51 ID:sWrdsXk5]
Gtkに関して教えてください。

「GTK+入門 基礎から〜」を購入して勉強しているのですが、
下記のプログラムで「gtk_widget_set_size_request」を
実行しようとすると「undefind referenec to 'gtk_widget_set_size_request」
とエラーが表示されてしまいます。
コメントアウトすればエラーは出ません。
gtk/gtk.hもインクルードしてありますし何が悪いのかさっぱり分かりません。

window = gtk_window_new( GTK_WINDOW_TOPLEVEL );↓
gtk_widget_set_name( window, "window" );↓
gtk_widget_set_size_request( window, 480, 280 );↓


494 名前:login:Penguin mailto:sage [04/06/01 15:51 ID:vmS5jmyS]
>>493
検索してみたらその本は第2版が出ているようなので、実は古い版だったりしませんか?
gtk_widget_set_size_request()は1.0→1.2で削除されたような覚えがあるので、
gtk_widget_set_usize(), gtk_widget_size_allocate()あたりで代用してみるとか。

495 名前:login:Penguin mailto:sage [04/06/01 15:56 ID:f2RT8NBI]
>>493
developer.gnome.org/doc/API/2.0/gtk/gtk-changes-2-0.html

のページ内でその関数を検索するがよろし




496 名前:493 mailto:sage [04/06/01 16:41 ID:sWrdsXk5]
>> 494, 495

有り難うございます。
gtk_widget_set_size_request()→gtk_widget_set_usize()にしたらエラーは出なくなりました。

495さんに教えて貰ったページを見ると、
私の英語力ではgtk_widget_set_usize()を止めて、
gtk_widget_set_size_request()に変更しろと
書いてあるように思うのですが・・・

497 名前:login:Penguin mailto:sage [04/06/01 18:53 ID:+dAqMRbG]
>>493
gtk_widget_set_size_request() は gtk+-2.0 で新しくできた関数。

gtk2 のリファレンスを見ながら、gtk1 を使ってプログラム
してると思われる・・・。

統一しる! 変なこだわりがないなら gtk2 に・

498 名前:488 mailto:sage [04/06/01 21:30 ID:6DgPX5ay]
>>491

先生!出来ました!!
gtk_scrolled_window_get_vadjustment と
gtk_adjustment_set_value
ですね。ありがd。

499 名前:login:Penguin mailto:sage [04/06/02 11:16 ID:Ph5YiCQq]
>>487
tar xzvf 素酢-x.x.x.tar.gz
cd 素酢-x.x.x/src
grep icon *

いちおう。

500 名前:login:Penguin mailto:sage [04/06/06 03:39 ID:7NlghlPT]
500get

501 名前:login:Penguin [04/06/06 04:10 ID:XtA0mCdQ]
3日と16時間23分、誰も取ろうとしなかった500ゲトおめ(w

502 名前:login:Penguin [04/06/06 10:31 ID:YeSwYVrz]
GtkComboで今何番目のリストが選択されているかを知るにはどうすれば良いのでしょうか?

1個目→A
2個目→B
3個目→C

となっていて、2個目が選択されている場合に「B」という文字ではなく、
「2」という数値を取得したいのです。

503 名前:login:Penguin mailto:sage [04/06/06 11:38 ID:prFiANc0]
GList の中から文字列を検索するのはどうよ?

GList は要素を指定してその位置を返す関数があったような気がする。

504 名前:502 mailto:sage [04/06/08 14:03 ID:PyaDVVHB]
レス遅れてすいません。

教えて貰ったことを踏まえて、
色々調べたり悩んだりしたのですが、
結局力業で処理してしまいました。

505 名前:login:Penguin [04/06/23 23:57 ID:MDTSH8fN]
しばらく反応がないのでage

で、質問ですが、mngのgdk-pixbuf loaderって、どこかにあります?
ぐぐって見ると、去年のgtk-develでmng loaderの話が出ているのですが、
libmng方で問題があるとかいう発言以降、何の動きもないみたいです。

mail.gnome.org/archives/gtk-devel-list/2003-June/msg00070.html




506 名前:login:Penguin mailto:sage [04/06/25 22:53 ID:s+nmqGmL]
GTK+/GDKによるLinuxアプリケーション開発 Eric Harlow著に載ってるソースコードって
どこからかダウンロード出来るのでしょうか?
記載されてるページへいってもNOT FOUNDなもんで、、、

507 名前:login:Penguin [04/06/26 02:07 ID:ot6kutpS]
>>506
ttp://www.seshop.com/detail.asp?pid=696 の左側 「関連リンク」の
サンプルダウンロードからダウンロード可能

508 名前:login:Penguin mailto:sage [04/06/26 02:25 ID:ot6kutpS]
こっちが本家のようです。

ttp://www.informit.com/title/0735700214#

の 0735700214.tar.gz

509 名前:login:Penguin mailto:sage [04/06/26 03:04 ID:uwUdg/T9]
>>507,508
DLできました。
有り難うございました

510 名前:login:Penguin [04/07/01 14:49 ID:2+uzpSCS]
GTK+ 2.0 チュートリアル 2003-01-24 版 日本語版
www.gnome.gr.jp/docs/gtk+-2.0.x-tut/gtk-tut.html

511 名前:login:Penguin [04/07/02 20:41 ID:ruSxXmGR]
Labelの色を指定するのはどうすれば良いのでしょうか?
リソースファイルではなくてプログラム中で変更したいのです。
同じラベルに対してokなら青errorなら赤みたいに。

512 名前:login:Penguin mailto:sage [04/07/02 20:49 ID:EdA1krgC]
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL(label), "<span foreground='red'>red</span>");
では?


513 名前:login:Penguin mailto:sage [04/07/02 21:07 ID:NFwwiccW]
>>511

www.gnome.gr.jp/docs/gtk+faq.20040114.html#AEN811

514 名前:511 [04/07/02 22:06 ID:ruSxXmGR]
>>512

おおお、こんなに早くレスがつくとは思いませんでした。
gtk_widget_set_colormapあたりかと思って悩んでました。
ありがとうございました。

515 名前:login:Penguin [04/07/17 01:44 ID:gxRBMExw]
gtk_signal_connect(GTK_OBJECT(window), "key_press_event",
GTK_SIGNAL_FUNC(KeyPress), NULL);

でコールバック関数を登録し、

static void KeyPress(GdkEventKey *event)
{
g_print("%x\n",event->keyval);
}
}

これで押されたキーを判別しようと思ったのですが
実行結果はどのキーを押しても 0 と表示されてしまいます。
何か使い方が間違っているのでしょうか?
それとも、仕様ですか?



516 名前:515 [04/07/17 01:45 ID:gxRBMExw]

余計な閉じ括弧がひとつありますが、書き込み時に間違えて入力してしまったものです。
気にしないでください。

517 名前:515 mailto:sage [04/07/17 02:05 ID:gxRBMExw]
自己解決しました。
お騒がせしました。

518 名前:login:Penguin [04/07/20 21:04 ID:mCNuObfQ]
X11^^^^

519 名前:login:Penguin [04/07/21 13:46 ID:q4gHD8Am]
質問です。

gtk_widget_refってどういう目的で使うのでしょうか。
glade使うとwidgetをcreateした後に必ずついてくるんですが
gtk_widget_refを使わないでcreateするだけだと
何かまずいことが起こるんでしょうか。


520 名前:login:Penguin mailto:sage [04/07/22 16:23 ID:y/5s047B]
>>519

>glade使うとwidgetをcreateした後に必ずついてくるんですが
>gtk_widget_refを使わないでcreateするだけだと
>何かまずいことが起こるんでしょうか。

glade 使うと gtk_object_set_data_full してるからgtk_widget_ref
は、おいといたほうが良いと思う。

起動から終了までの間にウィジットを破棄したりしないなら gtk_widget_ref
は不要とか言うのは無謀かな?よくわかってないけど。

521 名前:login:Penguin [04/07/31 10:39 ID:MPOS1TDH]
Window全体に影を付けたいのですがパッチとかないですか?


522 名前:login:Penguin mailto:sage [04/08/06 15:14 ID:IQdNzkhX]
1はいずこ...


523 名前:login:Penguin mailto:sage [04/08/25 15:55 ID:j+IRN/yq]
GtkGLExtの日本語マニュアルは無いのか…まぁ訳すけれど…
作者日本人だよな。なんか複雑。

524 名前:login:Penguin mailto:sage [04/08/25 20:34 ID:i4j2Wyy5]
>>523
日本語だと解説やマニュアルどころか、情報自体がないな・・・。
どころか、英語でも状況はかわらなさそう・・・。

使ってる人いるのか?と思ってしまう。

525 名前:Exampleに数時間気づかなかった人(1/20) mailto:sage [04/08/26 13:56 ID:9NdnJg9X]
>>524
mail.gnome.org/archives/gtkglext-list/index.html
あちらの国でのメーリングリストを見ると大して人気があるようには見えない。
評価用の2画面同時表示とかサンプルのようなソースの疑問点?の質問が多いね。

gtkglext.sourceforge.net/
どーでもいーがサイトにあるlogo.cは、インストールした中のExampleの
ソースのままなので、Exampleの下からlogo.hとかを持ってこないと表示できない。



526 名前:login:Penguin [04/08/29 01:43 ID:I8sIe2mZ]
Gtkのイベント(シグナル?)についてお聞きしたいのですが、
独自イベントを作ってgtkのメインループの中でハンドリングするには
どのようにコーディングすればよいのでしょうか?

よろしくお願いします。

527 名前:login:Penguin mailto:sage [04/08/29 18:32 ID:0ci6kHoF]
スクロールバーが付いたテキスト入力の領域を作るにはどうすればいいのでしょ
うか?
scrolled_window = gtk_scrolled_window_new(NULL, NULL);
でscrolled_windowを作り,
text = gtk_text_new(NULL, NULL);
でテキストウィジェットを作り,
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), text);
としてみましたが,スクロールバーが一杯になっていて全くスクロールできません.
www.gnome.gr.jp/docs/gtk+-2.0.x-tut/gtk-tut.html
こことかを見てみましたが,一行入力のテキストエントリしか書いてなかった
のでわかりませんでした.この方法ではできないのでしょうか?初歩的な質問
ですみません.


528 名前:login:Penguin mailto:sage [04/08/29 20:56 ID:3dMcPoCy]
>>527

gtk_container_add (GTK_CONTAINER (scrolled_window), text);



529 名前:527 mailto:sage [04/08/29 23:43 ID:0ci6kHoF]
できました!ありがとうございます.


530 名前:login:Penguin [04/09/02 19:50 ID:UwBORxvn]
windowをマウスで左クリックしたら「クリックしたよ!」というメッセージを出すプログラムを
書こうと思い、eventの中からマウスで左クリックしたeventを取り出して標準出力するつもり
のプログラムを書いたのですが、意図した通りに動いてくれません。おそらくイベントハンドラ
のところがおかしいのでしょうが、どのように書けばよいでしょうか?
---------
#include<gtk/gtk.h>
#include<stdio.h>

static gboolean click_event(GtkWidget *widget, GdkEventButton *event,
gpointer data){
if(event->type==GDK_BUTTON_PRESS &&
event->button==1){
g_print("Mouse clicked! \n");
}
return FALSE;
}

int main(int argc,char *argv[]){
GtkWidget *window;
gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "event",
G_CALLBACK(click_event), NULL);

gtk_widget_show(window);
gtk_main();
return(0);
}

531 名前:login:Penguin [04/09/02 21:27 ID:B1qwsflf]
>530
Xlibをインクルードしていないじゃないか。
それではメッセージは受け取れないな。

532 名前:login:Penguin mailto:sage [04/09/02 22:24 ID:Iz+TckRx]
>>530
window でマウスのイベントを取ってどうするんだ、というのは置いといて・・。

window のイベントマスクを設定する。




533 名前:MyDoom被害経験者(当時は深刻) [04/09/06 00:41 ID:vttGuatR]
GtkとKDE/Qtでは、どちらがGUI programmingを始め易いんでしょうか?
コード量の少なくて済む方を教えてください。

534 名前:login:Penguin mailto:sage [04/09/06 00:48 ID:yRhIRqUd]
>>533
お手軽なほうがいいってんならTcl/Tkやっとけ。コード量少なくてすむぞ。(藁
それぞれのサンプルコード見てこっちが性に合ってるな、とか、KDEメインに使ってるからQtとかないのかね。
どっちにしたってGUIプログラミングする分にはコード書くし、量的に差があるったって鼻毛みたいなもんだよ。;-p

535 名前:login:Penguin mailto:sage [04/09/06 02:35 ID:mXXgruj5]
CがいいかC++がいいかで選んだら?



536 名前:login:Penguin mailto:sage [04/09/06 08:07 ID:j+KxsIhK]
>>533
この質問、やたらあちこちで見るな。

537 名前:login:Penguin mailto:sage [04/09/06 12:41 ID:fIwSWiYt]
サポートしてる言語がやたら多いのはGtk+。
C++, Python, Ruby, Perl, Scheme, Tcl, PHP, Java, C#, OCaml, Haskell みたいに
実用一辺倒から Research Language までいろいろ。
ただ完成度やドキュメントの整備状況は言語でまちまち。

Qt はその仕組み上そういうバインディングが作りにくいそうな。数少ない
バインディングも Qt2 にしか対応して無いのが多い。






[ 続きを読む ] / [ 携帯版 ]

前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