GTK+プログラミング (978レス)
1-

1
(1): 2007/09/05(水) 13:58:46 ID:2SORZMjm(1/2)調 AAS
GUIツールキットであるGTK+とその周辺技術についてのスレッド

-前スレ-
2chスレ:linux

-関連サイト-

本家
外部リンク:www.gtk.org
APIレファレンス
外部リンク:library.gnome.org
gtkmm(C++ラッパー)
外部リンク:www.gtkmm.org
glade
外部リンク:glade.gnome.org
libglade
外部リンク:www.jamesh.id.au
2: 2007/09/05(水) 14:09:00 ID:b1/CEVO9(1)調 AAS
Ruby-GNOME2 Win32 GUI Installer
外部リンク:ruby-gnome2.sourceforge.jp
3: 2007/09/05(水) 14:16:20 ID:2SORZMjm(2/2)調 AAS
-参考になるサイト-
外部リンク[html]:larse-gtk.hp.infoseek.co.jp
外部リンク:kota.steeludon.com
外部リンク:www.hakodate-ct.ac.jp
外部リンク:gtklab.sourceforge.jp
4: 2007/09/05(水) 14:28:30 ID:bwt0DIPX(1)調 AAS
>>1
おつ。前のスレは落ちたんだよね。

関連スレ
Gtkプログラミング on Windows!!!
2chスレ:tech
5
(1): 2007/09/05(水) 22:56:25 ID:cjdtil+H(1)調 AAS
何か見ないなって思ってたら落ちてたのか。
glade-3.3.4とanjuta-2.2.0の組み合わせで使っている人は、
anjutaのソースの中で
sed -i 's/glade_project_get_has_unsaved_changed/glade_project_get_modified/g' \
plugins/glade/plugin.c
としておかないとgladeファイルが開けないので注意。
6: 2007/09/05(水) 23:18:58 ID:6zMwszt6(1)調 AAS
>>5
使えるな〜と思ったら、gladeの開発版を使っているのですね。
情報Tnx

GNOME-2.20でanjutaが入らないみたいなので残念です。
7: 2007/09/06(木) 00:50:05 ID:O0ecg2ks(1)調 AAS
まあまだ使いにくい所もあるしね。個人的にはもうちょっとScintillaベースの
エディタのフォント設定をもうちょっと楽にしてもらいたかったり。
後GtkBuilderに早い所対応してくれないかな。まあこれはGlade待ちなんだけど。
8: 2007/09/06(木) 19:24:35 ID:cMxVF+yM(1)調 AAS
Gtk関係のヘッダは
gtk-1.2/gtk/hoge とか
gtk-2.0/gtk/hoge にあるのに、
gtk.hを筆頭にgtk/以下のヘッダは全て
gtk/hoge をincludeしてあるのでエラー出まくります。

置換スクリプト作ってgtk/以下のヘッダの
#include<gtk/hoge> を #include<gtk-1.2/gtk/hoge> に
修正しまくるしかないのでしょうか?
何か対処法があれば教えてください。

関係あるか分かりませんが環境はubuntu7.04/Feistyです。
9
(1): 2007/09/06(木) 19:44:27 ID:EzCswhTZ(1)調 AAS
コンパイルオプションに
`gtk+-2.4 pkg-config --cflags --libs`
付け加える
10: 2007/09/06(木) 22:14:16 ID:jVEAROlh(1)調 AAS
>>9
ありがとうございます。
gcc hoge.c `pkg-config --cflags --libs gtk+-2.0` でいけました!
--libsのはpkg-config --list-all の中から選べばいいんですね。凄い。

gladeだと色んなファイルがごちゃごちゃしてるので、
1ファイルでコンパイル出来るのがちょっと感動的です。
11
(3): 2007/09/15(土) 18:11:58 ID:l0zyDoAp(1)調 AAS
GTKのオブジェクトにMozillaを組み込むにはどうすればいいんでしょうか?
12: 2007/09/15(土) 22:43:40 ID:NKI8HvUy(1)調 AAS
昔のGTK1.2で作られている日本語がばけて表示されるソフトを
日本語対応させるのって難しいですか?
13
(1): 2007/09/16(日) 00:10:58 ID:gopQQAh6(1)調 AAS
>>11
gtkmozembed
ってFAQレベルの気が・・・
14
(2): 2007/09/16(日) 17:16:00 ID:szZ43l1O(1)調 AAS
GTKのアイコンってどのファイルに含まれてるのでしょうか?
画像がない時にでる赤い×印のmissingアイコンになるのですが
ファイルがわかれば他のバージョンの高いディストリから
持ってこようと思ってます
15: 2007/09/16(日) 18:03:08 ID:nKbLcQMO(1)調 AAS
>>14
そうゆうプログラムを作るという話?
16: [age] 2007/09/16(日) 18:14:10 ID:xPVEAZTR(1)調 AAS
Qtの方がおもしろいよ!!
17
(1): 2007/09/16(日) 20:19:22 ID:Faddvszk(1)調 AAS
>>14
本当に基本的なアイコンはGTKの中に組み込まれてるけど、
大体その前に/usr/share/icons(pixmaps?)以下にあるアイコンテーマが読み出される。
アイコンテーマについては以下を参照
外部リンク:tango.freedesktop.org
18: 2007/09/17(月) 03:57:01 ID:W3kOm0S+(1)調 AAS
2.12りりーす
19: 2007/09/17(月) 20:46:29 ID:Rov63cpp(1)調 AAS
>>17
icon-theme入れたら表示されました
どうもです
20
(2): 11 2007/09/18(火) 09:46:06 ID:7RZGKs31(1)調 AAS
>>13
ありがとうございます。

gcc でmozembedをLINKするときのoptionってどなたかご存じないでしょうか?
21
(1): 2007/09/18(火) 20:28:53 ID:u0v3LdR2(1)調 AAS
>>20
$ pkg-config --libs firefox-gtkmozembed.pc
でいいんじゃない?
22: 20 2007/09/19(水) 08:33:16 ID:Sg4DTI1c(1)調 AAS
>>21
実行して mozillaのobject を gtk_container_add( ) するとエラーを吐いてまだ動作しませんがビルドできるようになりました。
ありがとうございました。
23
(1): 2007/09/19(水) 11:09:35 ID:n7MsIjqh(1)調 AAS
topやnetstatなどの基本的なCUIコマンドをGtkを使ってGUI化したものってないかな?
TreeViewで簡単にsortを掛けることができるような...
なければ自分で造ろうとしているのだけど、既存のものあれば参考にしたい。

TreeViewの各要素にlabelを埋め込んで、このlabelをCUIコマンドで得られる
データーにあわせて変更するような、力づくなコーディングをしてみたんだけど
もっとエレガントな方法はないものか...
24
(1): 2007/09/19(水) 23:19:21 ID:HUCusNQ/(1)調 AAS
qtで充分じゃない?
25
(1): 2007/09/19(水) 23:47:15 ID:NIZBsTRK(1)調 AAS
>>23
topみたいなのだったらgnome-system-monitorとか?
26
(2): 2007/09/20(木) 01:24:41 ID:7HBhJoi6(1)調 AAS
>>25
ありがとう。ソースみてみるわ。普段gnomeじゃないんで盲点でした。

>>24
志村、スレタイスレタイw
Qtスレってあるんかね?
27: 2007/09/20(木) 04:29:38 ID:jv4IvgQU(1)調 AAS
>>26
ム板にある
2chスレ:tech
28: 2007/09/22(土) 22:29:28 ID:mUDAWFkC(1)調 AAS
2chスレ:linux
29: 2008/03/20(木) 13:39:07 ID:oScjO3eR(1)調 AAS
Firefox3別にGTK対応しなくてよかったんだがなぁ

統一感出たのはいいが見た目がしょぼい……
30: 2008/03/21(金) 08:04:49 ID:JTozrZN4(1)調 AAS
Linux 上でのGTK+プログラミングの本スレは、ここ?
廃れすぎてるよ。

プログラミング板に行った方がいいのかな?
でも、プログラミング板のは、Windows限定だしな...
31: 2008/03/21(金) 10:35:43 ID:3ULYcj2H(1)調 AAS
本来はム板でやるべきだろうな。
こっちでやりたいなら何か話題振ってみれば?
32: 2008/03/22(土) 21:13:17 ID:AyZW6HyO(1/3)調 AAS
それじゃあ
みなさんの開発環境(IDE)は何を使ってますか?
オレはAnjuta+glade
もっと優れたIDEあるのなら教えてほしい
33
(1): 2008/03/22(土) 21:33:51 ID:ldkQa/0V(1/3)調 AAS
IDEは使っていない。SATAだから。(前半本当)
34: 2008/03/22(土) 21:37:55 ID:AyZW6HyO(2/3)調 AAS
>>33
ハイハイワラタワラタ
それで何をつかってる?
35
(2): 2008/03/22(土) 21:39:06 ID:ldkQa/0V(2/3)調 AAS
だからIDE使ってないってば。javaじゃあるまいし。
36
(1): 2008/03/22(土) 21:59:17 ID:AyZW6HyO(3/3)調 AAS
>>35
吊れますか?
IDE(Integrated Development Environment:統合開発環境)

widestudioとか kylixとか
37: 2008/03/22(土) 22:01:53 ID:aYSHgKNt(1)調 AAS
エクリプス、最近ようやくAUTOTOOLSと一緒に使う方法が分かってきた。
ANJUTAのヘルプナビは便利だけど他の部分はCDTのがよいからなあ。
38
(1): 2008/03/22(土) 22:06:40 ID:lxQ3nqhW(1/2)調 AAS
でもちょっと本腰入れて書こうってなったときはIDE使うとかなり便利だよ。
ちなみに俺もanjuta+glade使ってる。
そういえば誰かGtkBuilderを使ってる人とかいる?
俺はまだlibgladeから抜け出せないよ。
39: 2008/03/22(土) 22:08:12 ID:lxQ3nqhW(2/2)調 AAS
>38の一行目は>35宛て
40: 2008/03/22(土) 22:13:46 ID:ldkQa/0V(3/3)調 AAS
>>36
だから釣りじゃなくて使ってないと何度言えば。聞いたから答えただけ。
javaだとIDE使うケースが多いだろ?eclipseとかさ。

make gcc glade ・・・viでconfigure/makefileをゴリゴリだよ。
こんなん好きずきだろ。
41: 2008/03/22(土) 22:19:12 ID:gdnM02dF(1)調 AAS
IDE使ってないだけで釣り扱いとは……
42: 2008/03/23(日) 01:33:29 ID:zAd/2L2S(1)調 AAS
俺Ubuntu 7.10使ってるんだけど、パッケージマネージャ(GUI)でインストール
できるバージョンのAnjutaの動作がおかしいので仕方なくgeditのみ。

だれか必要なツールを含めたAnjuta環境の簡単なインストール方法知ってたら
教えてくれまいか。ネットを参考にしてソースから手作業でやろうとしたんだが、
複雑&面倒過ぎで挫折しますたorz
43: 2008/03/23(日) 10:17:18 ID:OBasJEH+(1)調 AAS
私は今は普通にUbuntu7.10でanjuta使えてます。
Ubuntu7.10のベータの頃は確かに挙動がおかしかったので
しょっちゅう落ちまくってましたが。

入れたのは「anjuta」と名のつくパッケージと、wxGtkのdev関係のVer2.8を片っ端から。

ちなみに今はanjutaの新規プロジェクトで選択できるwxWidgetsプロジェクトが一番楽なので
頼り切ってます。
44: 2008/03/23(日) 11:17:19 ID:1HFMv5Qv(1)調 AAS
gedit
GNOME端末
ddd
45: 2008/03/23(日) 14:53:17 ID:oxSgYePU(1)調 AAS
kylixなんて久しぶりに聞いたな…。
46: 2008/03/23(日) 18:19:48 ID:DWfALAId(1)調 AAS
開発環境の話はこっちで。

開発環境スレ (・∀・)デヴェロォォォップ!!
2chスレ:linux
47: 2008/03/24(月) 01:38:53 ID:Qk/VKx6p(1)調 AAS
GTK+2の話もここでいいの?
48: 2008/03/24(月) 02:38:12 ID:xdVA6Pwk(1)調 AAS
いいんじゃない?
つーかプログラム系のスレはどこも廃れてんだから
あんまりわけることないよ。

ム板でって話もあるが
そもそもLinuxからプログラミングの話抜いたら
インスコの話しかのこらん。
49
(1): 2008/03/24(月) 21:13:51 ID:w0tQmto2(1)調 AAS
anjutaをなんとか動かそうとむきになってたけど、自分はgladeが吐いたソースを
ビルドできれば満足なことに気がついた。

gladeでぐぐって出てきたページを参考にやったら簡単にできたorz
50: 2008/03/24(月) 21:16:44 ID:q1u759xh(1)調 AAS
2.13.Xからはgailが統合されるみたいだね。思い切ったことするなぁ
51
(1): 2008/03/25(火) 21:27:24 ID:f22Hmaea(1)調 AAS
>49
glade2のソースを吐く機能っていうのは確かに手軽だけど、
吐くソースがobsoloteになってしまうとか、色々と不具合の温床になりそうだから、
glade3での機能廃止もしょうがないと思っちゃうんだよね。

所で、gtk-docで作る文書の国際化って結構めんどいね。
html2poと自作スクリプトで頑張ってみようかなって思ってるけど、
なかなかスマートにいかないや。
52: 2008/03/25(火) 22:04:32 ID:Mm1m5DLO(1)調 AAS
>>51
う〜ん、それなんかなかったかなぁ?どっかでみたような。すまん思い出せん。
53
(1): 2008/04/29(火) 19:11:04 ID:26XTARAt(1)調 AAS
こんにちは
質問があります、gtkを使ったプログラミングをしたいのですが
コンパイルがうまくいきません
Vine Linuxを使っています。
% rpm -qa | grep gtk+
gtk+-1.2.10-0vl6
となっていますが
% gtk-config
gtk-config: コマンドが見つかりません.
となってしまいます、なぜでしょうか?
54: 2008/04/29(火) 19:17:39 ID:cCcJpKWp(1)調 AAS
vineってgtk1しか入ってないの?
deb系はよく知らないけどdevelみたいなのが必要なのかね。
55: 2008/04/30(水) 12:15:31 ID:tQtvI8CE(1)調 AAS
Vine が deb 系!?
56
(1): 2008/05/30(金) 13:13:29 ID:kzcW1sj3(1/2)調 AAS
>>53
vineの事は良くわからんけども、
見たところvine4.2では
gtk2-2.8.20-0vl3.2.i386.rpm
gtk2-devel-2.8.20-0vl3.2.i386.rpm
gtk2-engines-2.7.4-0vl1.i386.rpm
があるようなので、
>>53の使ってるvineのver.はわからないが、
開発パッケージが入ってないだけなんじゃないのかね?
例えばgtk+-devel-1.2.10-0vl6.i386.rpmみたいな感じの…。
57: 56 2008/05/30(金) 13:16:35 ID:kzcW1sj3(2/2)調 AAS
って日付見たらひと月前の質問か…
てっきり昨日質問したのかと…
58
(1): 2008/05/30(金) 14:22:37 ID:ann5FY58(1/2)調 AAS
はじめまして。
gtkでプログラミングをしているのですが、うまくいきません。

01.jpgから10.jpgまでの数字の画像を使って
クリックしたらカウントダウンさせようと思っています。
現在は、

GtkWidget *drawingarea;
GtkPixbuf *pixbuf;

pixbuf = gdk_pixbuf_new_from_file( "10.jpg", NULL);
gdk_draw_pixbuf( drawingarea->window, NULL, pixbuf,
0, 0, 500, 350, -1, -1, GDK_RGB_DITHER_NONE, 0, 0);
gtk_widget_draw( drawingarea, NULL);

sleep( 1);

pixbuf = gdk_pixbuf_new_from_file( "09.jpg", NULL);
gdk_draw_pixbuf( drawingarea->window, NULL, pixbuf,
0, 0, 500, 350, -1, -1, GDK_RGB_DITHER_NONE, 0, 0);
gtk_widget_draw( drawingarea, NULL);

sleep( 1);

のようにしていますが、うまく1秒置きに画像が表示されません。
強制的に再描画させる方法などありましたら教えてください。
お願いします。
59: 2008/05/30(金) 14:43:11 ID:GKY/CzaG(1)調 AAS
while (gtk_events_pending()) gtk_main_iteration();
を挟むとか。

g_timeout_addを使う方法もあるね。
60: 2008/05/30(金) 15:17:07 ID:ann5FY58(2/2)調 AAS
ありがとうございます。
while (gtk_events_pending()) gtk_main_iteration();
でうまく動きました。
助かりました。
61: 2008/06/01(日) 12:51:26 ID:Qfk/evfC(1/8)調 AAS
質問ばかりですみません。
スタートをクリックしたらマウスカーソルを10秒間消したいと思っています。
カーソルを透明にしてやればいいと思うのですが、
よくわかりません。
よい方法がありましたら教えてください。
62: 2008/06/01(日) 14:26:49 ID:vBepI6CX(1/6)調 AAS
#!/usr/bin/python
import pygtk
import gtk, gobject

win = gtk.Window()
win.set_default_size(200, 200)
win.connect('destroy', gtk.main_quit)

def create_invisible_cursor():
    pixmap = gtk.gdk.Pixmap(None, 1, 1, 1)
    color = gtk.gdk.Color()
    return gtk.gdk.Cursor(pixmap, pixmap, color, color, 0, 0)

def on_clicked(button):
    old = win.window.set_cursor(create_invisible_cursor())
    def after():
        win.window.set_cursor(old)
    gobject.timeout_add(10 * 1000, after)

button = gtk.Button('Start')
button.connect('clicked', on_clicked)
win.add(button)
win.show_all()
gtk.main()
63: 2008/06/01(日) 14:46:30 ID:vBepI6CX(2/6)調 AAS
ちょっと修正

#!/usr/bin/python
import pygtk; pygtk.require("2.0")
import gtk, gobject

win = gtk.Window()
win.set_default_size(200, 200)
win.connect('destroy', gtk.main_quit)

def create_invisible_cursor():
    pixmap = gtk.gdk.Pixmap(None, 1, 1, 1)
    color = gtk.gdk.Color()
    return gtk.gdk.Cursor(pixmap, pixmap, color, color, 0, 0)

def on_clicked(button):
    win.window.set_cursor(create_invisible_cursor())
    button.set_sensitive(False)
    def after():
        win.window.set_cursor(None)
        button.set_sensitive(True)
    gobject.timeout_add(10 * 1000, after)

button = gtk.Button('Start')
button.connect('clicked', on_clicked)
win.add(button)
win.show_all()
gtk.main()
64: 2008/06/01(日) 15:01:10 ID:Qfk/evfC(2/8)調 AAS
ありがとうございます。
c言語でコーディングしているのでcで書いていただければ。。。
すみませんcしかわからないもので。

GdkCursor cursor;
gchar bits[32] = { 0};
GdkBitmap *bitmap;
GdkColor color = {0, 0, 0, 0};

bitmap = gdk_bitmap_create_from_data(NULL, bits, 16, 16);
cursor = gdk_cursor_new_from_pixmap(bitmap, bitmap, &color, &color, 8, 8);
gdk_window_set_cursor(window, cursor);

現在はこれでとりあえずカーソルを消してみようとしたのですが、
assertion 'window != NULL' failedとでてしまって消えない状態です。
65: 2008/06/01(日) 15:32:14 ID:vBepI6CX(3/6)調 AAS
試してみたらそれでうまく動くようだが。
gdk_window_set_cursor() の呼び出しはちゃんとしてる?
66: 2008/06/01(日) 15:36:53 ID:Qfk/evfC(3/8)調 AAS
ちょっと修正です。

GtkWidget window;
GdkCursor cursor;
gchar bits[32] = { 0};
GdkBitmap *bitmap;
GdkColor color = {0, 0, 0, 0};

bitmap = gdk_bitmap_create_from_data(NULL, bits, 16, 16);
cursor = gdk_cursor_new_from_pixmap(bitmap, bitmap, &color, &color, 8, 8);
gdk_window_set_cursor(window->window, cursor);

これで実行すると、
gdk_window_set_cursor:assertion 'window != NULL' failed
と出ているので呼び出しでエラーになっていると思います。
67: 2008/06/01(日) 15:41:29 ID:vBepI6CX(4/6)調 AAS
#include <gtk/gtk.h>

int main(int argc, char *argv[])
{
    GtkWidget *window;
    GdkCursor *cursor;
    GdkBitmap *bitmap;
    gchar bits[32] = {0};
    GdkColor color = {0, 0, 0, 0};

    gtk_init(&argc, &argv);
   
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    g_signal_connect(G_OBJECT(window), "destroy", gtk_main_quit, NULL);
    gtk_widget_show(window);
   
    bitmap = gdk_bitmap_create_from_data(NULL, bits, 16, 16);
    cursor = gdk_cursor_new_from_pixmap(bitmap, bitmap, &color, &color, 8, 8);
    gdk_window_set_cursor(window->window, cursor);
   
    gtk_main();
    return 0;
}
68: 2008/06/01(日) 15:45:23 ID:vBepI6CX(5/6)調 AAS
gtk_widget_realize() 前の widget->window を触ろうとしてるのが原因かな?
69: 2008/06/01(日) 16:04:31 ID:wQKPJ8Cz(1)調 AAS
古いバージョンGtkを使ってたりしない?昔そういうのでハマったおぼえがある
70: 2008/06/01(日) 16:10:28 ID:Qfk/evfC(4/8)調 AAS
67のようにしたらエラーはでませんけど、カーソルは透明になりません。

windowの上に、水平ボックスや垂直ボックスをパッキングしているから
gdk_window_set_cursor(window->window, cursor);
で消えないとかはありますか?

gtk_widget_realizeについて調べてみます。

gtk-config --version をしたら1.2.10とでてきました。
71: 2008/06/01(日) 16:17:00 ID:Qfk/evfC(5/8)調 AAS
gtk_widget_realizeしても状況変わらずです。
ソースはこうなってます。

int main( int argc, char *argv[])
{

GtkWidget *window; /* メインウインドウ */
GtkWidget *test_window; /* テストウインドウ */
GtkWidget *button_start; /* スタートボタン */
GtkWidget *button_quit; /* 終了ボタン */
GtkWidget *hbox; /* 垂直ボックス */
GtkWidget *vbox; /* 水平ボックス */
GtkWidget *separator; /* セパレーター */
GtkWidget *drawingarea; /* 描画領域 */
GdkPixbuf *pixbuf;
gchar bits[32] = { 0};
GdkBitmap *bitmap;
GdkColor color = {0, 0, 0, 0};
GdkCursor *cursor;

/* 初期化 */
gtk_init( &argc, &argv);

window = gtk_window_new( GTK_WINDOW_TOPLEVEL);
drawingarea = gtk_drawing_area_new();
vbox = gtk_vbox_new( FALSE, 0);
hbox = gtk_hbox_new( FALSE, 0);
button_start = gtk_button_new_with_label( "Start");
button_quit = gtk_button_new_with_label( "Quit");
separator = gtk_hseparator_new();
72: 2008/06/01(日) 16:17:54 ID:Qfk/evfC(6/8)調 AAS
/* ウインドウを画面サイズに合わせる */
gtk_window_resize( GTK_WINDOW( window), gdk_screen_width(), gdk_screen_height());

/* delete_eventが発生したらdelete_eventを実行する */
g_signal_connect( G_OBJECT( window), "delete_event",
G_CALLBACK( delete_event), NULL);

/* 水平ボックスの中にスタートボタンと終了ボタンをパッキング */
gtk_box_pack_start( GTK_BOX(hbox), button_start, TRUE, FALSE, 5);
gtk_widget_show( button_start);
gtk_box_pack_start( GTK_BOX(hbox), button_quit, TRUE, FALSE, 5);
gtk_widget_show( button_quit);

/* 垂直ボックスの中にテストウインドウと水平ボックスをパッキング */
gtk_box_pack_start( GTK_BOX(vbox), drawingarea, TRUE, TRUE, 0);
gtk_widget_show( drawingarea);
gtk_box_pack_start( GTK_BOX(vbox), separator, FALSE, TRUE, 5);
gtk_widget_show( separator);
gtk_box_pack_start( GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show( hbox);
73: 2008/06/01(日) 16:20:38 ID:Qfk/evfC(7/8)調 AAS
/* メインウインドウに垂直ボックスをパッキング */
gtk_container_add( GTK_CONTAINER( window), vbox);

gtk_widget_show_all( window);

bitmap = gdk_bitmap_create_from_data( NULL, bits, 16, 16);
cursor = gdk_cursor_new_from_pixmap( bitmap, bitmap, &cursor_color, &cursor_color, 8, 8);
gdk_window_set_cursor( drawingarea->window, cursor);

gtk_main();

return 0;
}
74: 2008/06/01(日) 16:46:47 ID:vBepI6CX(6/6)調 AAS
2.12.9 だけど、それでちゃんと動くよ
75: 2008/06/01(日) 16:51:52 ID:Qfk/evfC(8/8)調 AAS
ありがとうございます。
バージョンをあげてからやってみます。
76
(1): 2008/06/02(月) 16:55:12 ID:2n4LDSUT(1/2)調 AAS
gtk+プログラミングについてお薦めの本とか出てないのでしょうか?
不勉強で付属のチュートリアルだといまひとつ良くわからなかったもので…。
77
(2): 2008/06/02(月) 17:09:32 ID:vhO0kEsD(1)調 AAS
日本語の本で勧められるようなのはないみたいです。

どっかの大学の先生が書いたPDFが参考になるかもしれません。
外部リンク:www.iim.ics.tut.ac.jp

個人的にはC言語以外の他の言語バインディングを使うのがおすすめです。
外部リンク[html]:www.gtk.org
78: 76 2008/06/02(月) 18:02:10 ID:2n4LDSUT(2/2)調 AAS
>>77
早速教えていただいてありがとうございます。
参考にして勉強して行きますね。
79: 2008/07/20(日) 20:11:46 ID:hZzIJHG7(1)調 AAS
AMD、OpenGL性能を最大33%高速化させたLinux向けドライバ
外部リンク[htm]:pc.watch.impress.co.jp
80: 2008/09/15(月) 23:03:03 ID:EmRnvQ2i(1)調 AAS
てs
81: 2008/09/22(月) 21:01:49 ID:8vBcGsdH(1)調 AAS
Panedでユーザ操作によるリサイズを禁止することってできますか?
82: 2008/10/18(土) 23:02:28 ID:3BBs8DQQ(1)調 AAS
>>77
gtkmmかGtk#辺りが無難なのかなぁ。
GNOME公式のアプリにもC#で書かれたモノが増えてきているようだし。
外国ではPythonで書かれたアプリも沢山あるみたいだけど、
国内だと情報が少なそうだしな。
83: 2008/10/18(土) 23:10:39 ID:QtgieN1g(1)調 AAS
どうせ英語は読むことになるからpythonでやるのが無難
GNOMEにはpythonアプリたくさんあるしね
84: 2008/10/18(土) 23:12:21 ID:7K6B6OYK(1)調 AAS
Gtk#はないな。gtkmmでしょう。
85
(1): 2008/10/18(土) 23:13:41 ID:HfwrrshF(1)調 AAS
Cでシコシコやろうとしてる/やってる俺はどうなんでしょ
86: 2008/10/19(日) 00:01:40 ID:fwxWu968(1)調 AAS
とりあえずgtkmm関連の日本語のページを読みながらチマチマと勉強中。
JDのソースとか参考になるかなぁ。

> どうせ英語は読むことになるから
ですよねーorz日本語の情報少ないもんなぁ…

> Gtk#はないな
そうなのか?
Novellが関わってるのがアレだけど、C#は覚えやすいと思うんだが。

>>85
> Cでシコシコ

87: 2008/10/19(日) 00:04:39 ID:f0AiiEyf(1)調 AAS
自分で参照カウンタを管理するのはめんどい
88: 2008/10/19(日) 12:37:59 ID:mBsqsk/K(1)調 AAS
いっそのことRubyでいこうよ。
89: 2008/10/19(日) 14:31:15 ID:lf2/OYv6(1)調 AAS
linuxなら c, gtkmm + python で 鉄板だろ
移植性とかいいだすのが間違いのもと。

まずはc#, javaの排除から。
つーか、そういうのってmsやsunの儲けにしかならんよね、実際。
90
(6): 2008/10/19(日) 18:09:25 ID:ZgmXTrMt(1)調 AAS
今、ruby-gtk2を使って簡単な画像ビューワを作っています。
デスクトップにフィットさせて表示(大きい場合は縮小表示)させたいのですが、
パネルとかウインドウマネージャの装飾を考慮して、画像を表示できる最大の
サイズを知りたい場合、どうしたら良さそうですか?
探してはいるものの、なかなか良さそうな手が見つからないです。
91: 2008/10/19(日) 19:54:56 ID:3IMHrYAs(1)調 AAS
gtk2hsにトライしたが、一部関数が無くてダメでした。まあこれからか。
erlgtk使いの人とかどう?
92
(1): 2008/10/19(日) 20:28:12 ID:Su20jt3Y(1)調 AAS
>>90
ウィンドウを maximize した時にでるシグナルの中でウィンドウ
サイズを取得して、画像のサイズを拡大縮小とか。

これだと、ウィンドウが出てから画像が出るまで、間が空くか?
93
(1): 90 2008/10/20(月) 00:25:14 ID:s5JT3EOQ(1/2)調 AAS
>>92
レスありがとうございます。
やっぱり、そういうちょっと強引な方法しかないんですかね。
せっかく教えてもらったんですが、ちらつきそうなので、できれば避けたいです。
今は、スクリーンサイズを取ってきて適当なサイズで妥協しています。

何かあっても良さそうなのになぁ。。。
94
(2): 2008/10/20(月) 00:34:47 ID:upSqhUNX(1/2)調 AAS
>>93
"expose-event"シグナルかな、rubyであるのかは分からないけど
95
(1): 2008/10/20(月) 02:08:26 ID:RwkYMDWR(1)調 AAS
>>90
昔SunのJDKのソースを読んでいたことがあるんだが、当時のJDKの実装では、
1) 使われているwindow managerを特定
2) 有名(あるいは標準的と言うべき)なwindow managerであれば、
  それぞれのwm固有の枠部分の装飾手段(Windowの重なり具合など)
  の知識を基に、今有るウィンドウの親を手繰ってwm由来部分を調査し
  wm由来部分のサイズを決定
3) 知らないwmは非サポートってことで適当に……
なんてことをしていた

ここ数年で提案されてない限り、良い方法はないと思われ
96
(2): 2008/10/20(月) 05:08:18 ID:mB1jem32(1)調 AAS
実際にmaximizeするしか知る方法はないだろう?
強引というならそれをやる前に知ろうとする方が強引のような。
それにGTK+はデフォでdouble-bufferedだから何も考えなくてもちらつきしない。
97
(1): 2008/10/20(月) 07:37:12 ID:DDLH0hrK(1)調 AAS
>>96
> 実際にmaximizeするしか知る方法はないだろう?
> 強引というならそれをやる前に知ろうとする方が強引のような。

同意。それ以外のやり方してるソフトなんてないのでは?
98
(2): 90 2008/10/20(月) 21:27:41 ID:s5JT3EOQ(2/2)調 AAS
レスありがとうございます。

>>94
ごめんなさい、"expose-event"シグナルはrubyでもあるのですが、94さんの意図が
よく理解できませんでした。

>>95
詳しい情報ありがとうございます。
Sunの人でさえ、そういう実装をされているくらいだから、簡単な方法は無さそうですね。

>>96,97
そんなことを簡単に知ろうという方が間違いですかね。
ちなみに、ちらつくと書いたのは、実際maximizeしてからサイズを取ってくるとすると
画面に表示することは避けられず、一瞬maximizeしたウインドウが見えてしまうという
意味で書きました。
まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
誤解しているかも知れませんが。
1-
あと 880 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.024s