GTK+プログラミングat LINUX
GTK+プログラミング - 暇つぶし2ch2:login:Penguin
07/09/05 14:09:00 b1/CEVO9
Ruby-GNOME2 Win32 GUI Installer
URLリンク(ruby-gnome2.sourceforge.jp)

3:login:Penguin
07/09/05 14:16:20 2SORZMjm
-参考になるサイト-
URLリンク(larse-gtk.hp.infoseek.co.jp)
URLリンク(kota.steeludon.com)
URLリンク(www.hakodate-ct.ac.jp)
URLリンク(gtklab.sourceforge.jp)

4:login:Penguin
07/09/05 14:28:30 bwt0DIPX
>>1
おつ。前のスレは落ちたんだよね。

関連スレ
Gtkプログラミング on Windows!!!
スレリンク(tech板)


5:login:Penguin
07/09/05 22:56:25 cjdtil+H
何か見ないなって思ってたら落ちてたのか。
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:login:Penguin
07/09/05 23:18:58 6zMwszt6
>>5
使えるな~と思ったら、gladeの開発版を使っているのですね。
情報Tnx

GNOME-2.20でanjutaが入らないみたいなので残念です。

7:login:Penguin
07/09/06 00:50:05 O0ecg2ks
まあまだ使いにくい所もあるしね。個人的にはもうちょっとScintillaベースの
エディタのフォント設定をもうちょっと楽にしてもらいたかったり。
後GtkBuilderに早い所対応してくれないかな。まあこれはGlade待ちなんだけど。

8:login:Penguin
07/09/06 19:24:35 cMxVF+yM
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:login:Penguin
07/09/06 19:44:27 EzCswhTZ
コンパイルオプションに
`gtk+-2.4 pkg-config --cflags --libs`
付け加える

10:login:Penguin
07/09/06 22:14:16 jVEAROlh
>>9
ありがとうございます。
gcc hoge.c `pkg-config --cflags --libs gtk+-2.0` でいけました!
--libsのはpkg-config --list-all の中から選べばいいんですね。凄い。

gladeだと色んなファイルがごちゃごちゃしてるので、
1ファイルでコンパイル出来るのがちょっと感動的です。

11:login:Penguin
07/09/15 18:11:58 l0zyDoAp
GTKのオブジェクトにMozillaを組み込むにはどうすればいいんでしょうか?

12:login:Penguin
07/09/15 22:43:40 NKI8HvUy
昔のGTK1.2で作られている日本語がばけて表示されるソフトを
日本語対応させるのって難しいですか?

13:login:Penguin
07/09/16 00:10:58 gopQQAh6
>>11
gtkmozembed
ってFAQレベルの気が・・・

14:login:Penguin
07/09/16 17:16:00 szZ43l1O
GTKのアイコンってどのファイルに含まれてるのでしょうか?
画像がない時にでる赤い×印のmissingアイコンになるのですが
ファイルがわかれば他のバージョンの高いディストリから
持ってこようと思ってます

15:login:Penguin
07/09/16 18:03:08 nKbLcQMO
>>14
そうゆうプログラムを作るという話?

16:login:Penguin
07/09/16 18:14:10 xPVEAZTR
Qtの方がおもしろいよ!!

17:login:Penguin
07/09/16 20:19:22 Faddvszk
>>14
本当に基本的なアイコンはGTKの中に組み込まれてるけど、
大体その前に/usr/share/icons(pixmaps?)以下にあるアイコンテーマが読み出される。
アイコンテーマについては以下を参照
URLリンク(tango.freedesktop.org)

18:login:Penguin
07/09/17 03:57:01 W3kOm0S+
2.12りりーす

19:login:Penguin
07/09/17 20:46:29 Rov63cpp
>>17
icon-theme入れたら表示されました
どうもです

20:11
07/09/18 09:46:06 7RZGKs31
>>13
ありがとうございます。

gcc でmozembedをLINKするときのoptionってどなたかご存じないでしょうか?

21:login:Penguin
07/09/18 20:28:53 u0v3LdR2
>>20
$ pkg-config --libs firefox-gtkmozembed.pc
でいいんじゃない?

22:20
07/09/19 08:33:16 Sg4DTI1c
>>21
実行して mozillaのobject を gtk_container_add( ) するとエラーを吐いてまだ動作しませんがビルドできるようになりました。
ありがとうございました。

23:login:Penguin
07/09/19 11:09:35 n7MsIjqh
topやnetstatなどの基本的なCUIコマンドをGtkを使ってGUI化したものってないかな?
TreeViewで簡単にsortを掛けることができるような...
なければ自分で造ろうとしているのだけど、既存のものあれば参考にしたい。

TreeViewの各要素にlabelを埋め込んで、このlabelをCUIコマンドで得られる
データーにあわせて変更するような、力づくなコーディングをしてみたんだけど
もっとエレガントな方法はないものか...

24:login:Penguin
07/09/19 23:19:21 HUCusNQ/
qtで充分じゃない?

25:login:Penguin
07/09/19 23:47:15 NIZBsTRK
>>23
topみたいなのだったらgnome-system-monitorとか?

26:login:Penguin
07/09/20 01:24:41 7HBhJoi6
>>25
ありがとう。ソースみてみるわ。普段gnomeじゃないんで盲点でした。

>>24
志村、スレタイスレタイw
Qtスレってあるんかね?

27:login:Penguin
07/09/20 04:29:38 jv4IvgQU
>>26
ム板にある
スレリンク(tech板)

28:login:Penguin
07/09/22 22:29:28 mUDAWFkC
スレリンク(linux板)

29:login:Penguin
08/03/20 13:39:07 oScjO3eR
Firefox3別にGTK対応しなくてよかったんだがなぁ

統一感出たのはいいが見た目がしょぼい……

30:login:Penguin
08/03/21 08:04:49 JTozrZN4
Linux 上でのGTK+プログラミングの本スレは、ここ?
廃れすぎてるよ。

プログラミング板に行った方がいいのかな?
でも、プログラミング板のは、Windows限定だしな...


31:login:Penguin
08/03/21 10:35:43 3ULYcj2H
本来はム板でやるべきだろうな。
こっちでやりたいなら何か話題振ってみれば?

32:login:Penguin
08/03/22 21:13:17 AyZW6HyO
それじゃあ
みなさんの開発環境(IDE)は何を使ってますか?
オレはAnjuta+glade
もっと優れたIDEあるのなら教えてほしい

33:login:Penguin
08/03/22 21:33:51 ldkQa/0V
IDEは使っていない。SATAだから。(前半本当)

34:login:Penguin
08/03/22 21:37:55 AyZW6HyO
>>33
ハイハイワラタワラタ
それで何をつかってる?

35:login:Penguin
08/03/22 21:39:06 ldkQa/0V
だからIDE使ってないってば。javaじゃあるまいし。

36:login:Penguin
08/03/22 21:59:17 AyZW6HyO
>>35
吊れますか?
IDE(Integrated Development Environment:統合開発環境)

widestudioとか kylixとか

37:login:Penguin
08/03/22 22:01:53 aYSHgKNt
エクリプス、最近ようやくAUTOTOOLSと一緒に使う方法が分かってきた。
ANJUTAのヘルプナビは便利だけど他の部分はCDTのがよいからなあ。

38:login:Penguin
08/03/22 22:06:40 lxQ3nqhW
でもちょっと本腰入れて書こうってなったときはIDE使うとかなり便利だよ。
ちなみに俺もanjuta+glade使ってる。
そういえば誰かGtkBuilderを使ってる人とかいる?
俺はまだlibgladeから抜け出せないよ。

39:login:Penguin
08/03/22 22:08:12 lxQ3nqhW
>38の一行目は>35宛て

40:login:Penguin
08/03/22 22:13:46 ldkQa/0V
>>36
だから釣りじゃなくて使ってないと何度言えば。聞いたから答えただけ。
javaだとIDE使うケースが多いだろ?eclipseとかさ。

make gcc glade ・・・viでconfigure/makefileをゴリゴリだよ。
こんなん好きずきだろ。

41:login:Penguin
08/03/22 22:19:12 gdnM02dF
IDE使ってないだけで釣り扱いとは……

42:login:Penguin
08/03/23 01:33:29 zAd/2L2S
俺Ubuntu 7.10使ってるんだけど、パッケージマネージャ(GUI)でインストール
できるバージョンのAnjutaの動作がおかしいので仕方なくgeditのみ。

だれか必要なツールを含めたAnjuta環境の簡単なインストール方法知ってたら
教えてくれまいか。ネットを参考にしてソースから手作業でやろうとしたんだが、
複雑&面倒過ぎで挫折しますたorz

43:login:Penguin
08/03/23 10:17:18 OBasJEH+
私は今は普通にUbuntu7.10でanjuta使えてます。
Ubuntu7.10のベータの頃は確かに挙動がおかしかったので
しょっちゅう落ちまくってましたが。

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

ちなみに今はanjutaの新規プロジェクトで選択できるwxWidgetsプロジェクトが一番楽なので
頼り切ってます。


44:login:Penguin
08/03/23 11:17:19 1HFMv5Qv
gedit
GNOME端末
ddd

45:login:Penguin
08/03/23 14:53:17 oxSgYePU
kylixなんて久しぶりに聞いたな…。

46:login:Penguin
08/03/23 18:19:48 DWfALAId
開発環境の話はこっちで。

開発環境スレ (・∀・)デヴェロォォォップ!!
スレリンク(linux板)

47:login:Penguin
08/03/24 01:38:53 Qk/VKx6p
GTK+2の話もここでいいの?

48:login:Penguin
08/03/24 02:38:12 xdVA6Pwk
いいんじゃない?
つーかプログラム系のスレはどこも廃れてんだから
あんまりわけることないよ。

ム板でって話もあるが
そもそもLinuxからプログラミングの話抜いたら
インスコの話しかのこらん。

49:login:Penguin
08/03/24 21:13:51 w0tQmto2
anjutaをなんとか動かそうとむきになってたけど、自分はgladeが吐いたソースを
ビルドできれば満足なことに気がついた。

gladeでぐぐって出てきたページを参考にやったら簡単にできたorz

50:login:Penguin
08/03/24 21:16:44 q1u759xh
2.13.Xからはgailが統合されるみたいだね。思い切ったことするなぁ

51:login:Penguin
08/03/25 21:27:24 f22Hmaea
>49
glade2のソースを吐く機能っていうのは確かに手軽だけど、
吐くソースがobsoloteになってしまうとか、色々と不具合の温床になりそうだから、
glade3での機能廃止もしょうがないと思っちゃうんだよね。

所で、gtk-docで作る文書の国際化って結構めんどいね。
html2poと自作スクリプトで頑張ってみようかなって思ってるけど、
なかなかスマートにいかないや。

52:login:Penguin
08/03/25 22:04:32 Mm1m5DLO
>>51
う~ん、それなんかなかったかなぁ?どっかでみたような。すまん思い出せん。

53:login:Penguin
08/04/29 19:11:04 26XTARAt
こんにちは
質問があります、gtkを使ったプログラミングをしたいのですが
コンパイルがうまくいきません
Vine Linuxを使っています。
% rpm -qa | grep gtk+
gtk+-1.2.10-0vl6
となっていますが
% gtk-config
gtk-config: コマンドが見つかりません.
となってしまいます、なぜでしょうか?

54:login:Penguin
08/04/29 19:17:39 cCcJpKWp
vineってgtk1しか入ってないの?
deb系はよく知らないけどdevelみたいなのが必要なのかね。

55:login:Penguin
08/04/30 12:15:31 tQtvI8CE
Vine が deb 系!?

56:login:Penguin
08/05/30 13:13:29 kzcW1sj3
>>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
08/05/30 13:16:35 kzcW1sj3
って日付見たらひと月前の質問か…
てっきり昨日質問したのかと…

58:login:Penguin
08/05/30 14:22:37 ann5FY58
はじめまして。
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:login:Penguin
08/05/30 14:43:11 GKY/CzaG
while (gtk_events_pending()) gtk_main_iteration();
を挟むとか。

g_timeout_addを使う方法もあるね。

60:login:Penguin
08/05/30 15:17:07 ann5FY58
ありがとうございます。
while (gtk_events_pending()) gtk_main_iteration();
でうまく動きました。
助かりました。

61:login:Penguin
08/06/01 12:51:26 Qfk/evfC
質問ばかりですみません。
スタートをクリックしたらマウスカーソルを10秒間消したいと思っています。
カーソルを透明にしてやればいいと思うのですが、
よくわかりません。
よい方法がありましたら教えてください。

62:login:Penguin
08/06/01 14:26:49 vBepI6CX
#!/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:login:Penguin
08/06/01 14:46:30 vBepI6CX
ちょっと修正

#!/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:login:Penguin
08/06/01 15:01:10 Qfk/evfC
ありがとうございます。
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:login:Penguin
08/06/01 15:32:14 vBepI6CX
試してみたらそれでうまく動くようだが。
gdk_window_set_cursor() の呼び出しはちゃんとしてる?

66:login:Penguin
08/06/01 15:36:53 Qfk/evfC
ちょっと修正です。

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:login:Penguin
08/06/01 15:41:29 vBepI6CX
#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:login:Penguin
08/06/01 15:45:23 vBepI6CX
gtk_widget_realize() 前の widget->window を触ろうとしてるのが原因かな?

69:login:Penguin
08/06/01 16:04:31 wQKPJ8Cz
古いバージョンGtkを使ってたりしない?昔そういうのでハマったおぼえがある

70:login:Penguin
08/06/01 16:10:28 Qfk/evfC
67のようにしたらエラーはでませんけど、カーソルは透明になりません。

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

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

gtk-config --version をしたら1.2.10とでてきました。

71:login:Penguin
08/06/01 16:17:00 Qfk/evfC
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:login:Penguin
08/06/01 16:17:54 Qfk/evfC
/* ウインドウを画面サイズに合わせる */
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:login:Penguin
08/06/01 16:20:38 Qfk/evfC
/* メインウインドウに垂直ボックスをパッキング */
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:login:Penguin
08/06/01 16:46:47 vBepI6CX
2.12.9 だけど、それでちゃんと動くよ

75:login:Penguin
08/06/01 16:51:52 Qfk/evfC
ありがとうございます。
バージョンをあげてからやってみます。

76:login:Penguin
08/06/02 16:55:12 2n4LDSUT
gtk+プログラミングについてお薦めの本とか出てないのでしょうか?
不勉強で付属のチュートリアルだといまひとつ良くわからなかったもので…。

77:login:Penguin
08/06/02 17:09:32 vhO0kEsD
日本語の本で勧められるようなのはないみたいです。

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

個人的にはC言語以外の他の言語バインディングを使うのがおすすめです。
URLリンク(www.gtk.org)

78:76
08/06/02 18:02:10 2n4LDSUT
>>77
早速教えていただいてありがとうございます。
参考にして勉強して行きますね。

79:login:Penguin
08/07/20 20:11:46 hZzIJHG7
AMD、OpenGL性能を最大33%高速化させたLinux向けドライバ
URLリンク(pc.watch.impress.co.jp)


80:login:Penguin
08/09/15 23:03:03 EmRnvQ2i
てs

81:login:Penguin
08/09/22 21:01:49 8vBcGsdH
Panedでユーザ操作によるリサイズを禁止することってできますか?

82:login:Penguin
08/10/18 23:02:28 3BBs8DQQ
>>77
gtkmmかGtk#辺りが無難なのかなぁ。
GNOME公式のアプリにもC#で書かれたモノが増えてきているようだし。
外国ではPythonで書かれたアプリも沢山あるみたいだけど、
国内だと情報が少なそうだしな。

83:login:Penguin
08/10/18 23:10:39 QtgieN1g
どうせ英語は読むことになるからpythonでやるのが無難
GNOMEにはpythonアプリたくさんあるしね

84:login:Penguin
08/10/18 23:12:21 7K6B6OYK
Gtk#はないな。gtkmmでしょう。

85:login:Penguin
08/10/18 23:13:41 HfwrrshF
Cでシコシコやろうとしてる/やってる俺はどうなんでしょ

86:login:Penguin
08/10/19 00:01:40 fwxWu968
とりあえずgtkmm関連の日本語のページを読みながらチマチマと勉強中。
JDのソースとか参考になるかなぁ。

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

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

>>85
> Cでシコシコ


87:login:Penguin
08/10/19 00:04:39 f0AiiEyf
自分で参照カウンタを管理するのはめんどい

88:login:Penguin
08/10/19 12:37:59 mBsqsk/K
いっそのことRubyでいこうよ。

89:login:Penguin
08/10/19 14:31:15 lf2/OYv6
linuxなら c, gtkmm + python で 鉄板だろ
移植性とかいいだすのが間違いのもと。

まずはc#, javaの排除から。
つーか、そういうのってmsやsunの儲けにしかならんよね、実際。

90:login:Penguin
08/10/19 18:09:25 ZgmXTrMt
今、ruby-gtk2を使って簡単な画像ビューワを作っています。
デスクトップにフィットさせて表示(大きい場合は縮小表示)させたいのですが、
パネルとかウインドウマネージャの装飾を考慮して、画像を表示できる最大の
サイズを知りたい場合、どうしたら良さそうですか?
探してはいるものの、なかなか良さそうな手が見つからないです。


91:login:Penguin
08/10/19 19:54:56 3IMHrYAs
gtk2hsにトライしたが、一部関数が無くてダメでした。まあこれからか。
erlgtk使いの人とかどう?

92:login:Penguin
08/10/19 20:28:12 Su20jt3Y
>>90
ウィンドウを maximize した時にでるシグナルの中でウィンドウ
サイズを取得して、画像のサイズを拡大縮小とか。

これだと、ウィンドウが出てから画像が出るまで、間が空くか?


93:90
08/10/20 00:25:14 s5JT3EOQ
>>92
レスありがとうございます。
やっぱり、そういうちょっと強引な方法しかないんですかね。
せっかく教えてもらったんですが、ちらつきそうなので、できれば避けたいです。
今は、スクリーンサイズを取ってきて適当なサイズで妥協しています。

何かあっても良さそうなのになぁ。。。


94:login:Penguin
08/10/20 00:34:47 upSqhUNX
>>93
"expose-event"シグナルかな、rubyであるのかは分からないけど

95:login:Penguin
08/10/20 02:08:26 RwkYMDWR
>>90
昔SunのJDKのソースを読んでいたことがあるんだが、当時のJDKの実装では、
1) 使われているwindow managerを特定
2) 有名(あるいは標準的と言うべき)なwindow managerであれば、
  それぞれのwm固有の枠部分の装飾手段(Windowの重なり具合など)
  の知識を基に、今有るウィンドウの親を手繰ってwm由来部分を調査し
  wm由来部分のサイズを決定
3) 知らないwmは非サポートってことで適当に……
なんてことをしていた

ここ数年で提案されてない限り、良い方法はないと思われ

96:login:Penguin
08/10/20 05:08:18 mB1jem32
実際にmaximizeするしか知る方法はないだろう?
強引というならそれをやる前に知ろうとする方が強引のような。
それにGTK+はデフォでdouble-bufferedだから何も考えなくてもちらつきしない。

97:login:Penguin
08/10/20 07:37:12 DDLH0hrK
>>96
> 実際にmaximizeするしか知る方法はないだろう?
> 強引というならそれをやる前に知ろうとする方が強引のような。

同意。それ以外のやり方してるソフトなんてないのでは?

98:90
08/10/20 21:27:41 s5JT3EOQ
レスありがとうございます。

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

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

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


99:94
08/10/20 23:02:02 upSqhUNX
>>98
すみません、>>90さんの要求を正しく理解していませんでした。

最大化できるサイズを求めるというのではなくて、あくまでアプリ側で必要な
サイズ(GtkRequisition)と、実際に獲得できたサイズ(GtkAllocation)
で実装するのはいかかでしょうか?

100:login:Penguin
08/10/21 02:53:13 5A1QOuH6
>>98
> まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
> 誤解しているかも知れませんが。

どう考えてもこれがガンだろ。呆れた。

101:90
08/10/21 23:21:31 rjo5j4+k
>>99
色々、考えて下さり、ありがとうございます。

>>100
まあ、そう言わんで下さい。

皆さんに教えて頂いたことをヒントに、時間が取れるときに
もっと勉強しようと思います。
レスをしてくれた方々、ありがとうございました。


102:login:Penguin
08/10/22 01:14:52 1Hw6zT+4
複数のファイルをユーザーに選択させ、そのファイルのパスをリストなり
配列なりで得たいと考えています。

調べてみたところ GtkFileChooserDialog は単一ファイル|ディレクトリ
にしか対応していないようなのですが、上記のような機能は自前で実装す
るしかないのでしょうか。

103:login:Penguin
08/10/22 01:40:40 TbaNGOlU
>>102
gtk_file_chooser_set_select_multiple()
gtk_file_chooser_get_filenames()
の組み合わせじゃ駄目なのかい?

104:login:Penguin
08/10/22 10:25:49 ApulL45s
>>103
ありがとうございます。完璧に私の調査不足でした。
教えていただいた方法でいけそうです。



105:login:Penguin
08/10/25 10:14:11 dTl3thQm
glade3の最新版にしたらいつの間にかGtkBuilder形式でも出力できるようになってたよ。
さすがにウィンドウ別に分けて出力はしてくれないけど。

106:login:Penguin
08/10/25 15:02:49 AakIN1gI
PyGTKでランチャー作ってます
ホットキーから呼び出すにはどうすれば
やはりgconf弄らないと無理なのでしょうか。

107:login:Penguin
08/10/25 17:13:44 zQTl7fNi
どのウィンドウがフォーカスされている状態でもキー操作で呼び出したいってこと?
そりゃXならウィンドウマネージャの仕事だ。

108:login:Penguin
08/10/25 17:58:26 AakIN1gI
>>107
そうです
どんな操作してるときもホットキーから呼び出したいので
PyGTK以外の言語は全く解らんのですがXLibあたりですかね
これさえ備えられればほぼ完成なんです
ありがとうございました。もう少し調べてみます

109:login:Penguin
08/10/25 18:06:09 e1TliF6D
>>108
それ俺も知りたい。分かったら教えてくれ。

110:login:Penguin
08/10/25 18:20:20 zQTl7fNi
>>108
ウィンドウマネージャにショートカットで任意のプログラムを呼び出すような
親切機能がついていればできる、なければ基本的にできない。

111:login:Penguin
08/10/25 21:12:08 UmyLPmdd
こんなんでどうよ

#!/usr/bin/python
import gtk, gobject
import Xlib, Xlib.display, Xlib.X, Xlib.XK

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

display = Xlib.display.Display()
root = display.screen().root 
root.grab_key(
        display.keysym_to_keycode(Xlib.XK.XK_a), # keycode
        Xlib.X.ShiftMask | Xlib.X.ControlMask,   # modifier
        True, Xlib.X.GrabModeAsync, Xlib.X.GrabModeAsync)
display.sync()
def check(*args):
    ev = display.next_event()
    if ev.type == Xlib.X.KeyPress:
        print (ev.detail, ev.state) # (keycode, modifier)
        win.present()
    return True
gobject.io_add_watch(display, gobject.IO_IN, check)

gtk.main()

112:login:Penguin
08/10/26 00:16:49 cuuCZE3q
>>109-110
自分が得た情報はもちろん共有しますよ
ウインドウマネージャってubuntuだとcompizでしたっけ?
WindowsだとpyHookなんてのがあって楽そうなんですが
>>111
走らせてみました
小さなウインドウは出ましたが、こちらではキーに反応しません
a, <shift>a, <ctrl>aはダメでした。他のキーですか?

個人的にはこの辺が怪しいと思っていたのですが
URLリンク(faq.pygtk.org)
URLリンク(manpages.ubuntu.com)
URLリンク(xjman.dsl.gr.jp)

PyGTKって日本語のドキュメントが少ないと思っていたけど
それ以前にドキュメントの絶対数が少ない気がしてきた

113:login:Penguin
08/10/26 00:20:34 dWWl1VvV
>112
xbindkeysのソースが参考になるかもね。
でもgdkとgtkだけで済ませたい気もする。

114:login:Penguin
08/10/26 01:05:43 w1SELDT+
>>112
<shift><ctrl>aです

115:login:Penguin
08/10/26 02:08:20 cuuCZE3q
>>113
これCですか?現時点では意味不明でした。
やはり最低でも2言語くらい習得しないと細かい所が弄れませんね。
>>114
それも試してみましたが何故が無反応でした。
さらに一週間くらい調べてみます。

116:login:Penguin
08/10/27 22:08:10 hjSX5CJk
glade3といえば日本語メッセージの翻訳が迷訳てんこもりで参った記憶しかないぞ。
ありゃGTK+プログラミングろくに理解してない奴が訳してるんだろうなあ。

117:login:Penguin
08/11/02 17:56:33 8LwLmm0R
出版界を見ると、GTK+よりもQtの方が元気があるように見えるんだけど、
ユーザ数ではどうなんだろう。日本でも最近出てる本はQtのだよね。

118:login:Penguin
08/11/02 18:07:31 f8W85vrO
出版ではQtだが、実際にはgtkのほうが人気がある。
ユーザ数でもおそらくgtkのほうが多い。
なぜQtの本のうほうが多いのかは謎。

gtkの本ってなんであんなに少ないんだろうか。

119:login:Penguin
08/11/03 12:00:13 zVTwcnmi
一つの指標として
gnome vs kde
URLリンク(www.google.co.jp)
gtk vs qt
URLリンク(www.google.co.jp)
ちなみにノルウェーではgnomeの人気が高いw

120:login:Penguin
08/11/03 12:19:36 f8RoxdRr
ネット上のドキュメントが充実してるからとか? 洋書も最近のはQtの
が多いよね。

日本GNOMEユーザー会とKDE ホームページ(日本KDEユーザ会)の
サイトを比べてみると、一見KDEの方が勢いがあるように見えるけど、
リンクのメンテがボロボロだな。

121:login:Penguin
08/11/03 12:24:19 f8RoxdRr
>>119
なんかKDE/Qtのが優勢な感じw

122:login:Penguin
08/11/03 13:56:17 7ydUuqhV
>>119
一部Quicktimeだったりしないか?
URLリンク(www.sophia-it.com)

123:login:Penguin
08/11/03 22:01:57 57+pbs2m
Ubuntu人気があるからgnomeのほうがユーザ多そうだけどな、実際どうなんだろな。
あと他言語のバインディングではgtkのほうが優勢な気がするんだがどうなんだろ。
QtHaskellとか使ってる人いる?俺はgtk2hs使ったけど使い物にならなかったよwww必要関数無くてwwww。


124:login:Penguin
08/11/03 22:39:37 iQkJfTcr
Ubuntu, Fedora, Debian, Vine(笑)とか標準ではたいがいgnomeだからね。
やっぱシェア(数)はやっぱgnomeが多いんじゃないの?

KDEはOpenSUSE, Mandriva(turbo)とか。
まぁ前出のgnomeトリはたいがいKDEの派生つーかブランチもあるし
入れ替えたって(共存させたって)いいんだけどね。


125:119
08/11/03 23:02:36 zVTwcnmi
>>122
一部ノーム(地名)だったりもするぜ

126:login:Penguin
08/11/03 23:40:33 CkL33X1G
ユーザーはともかく、クリエータはGTK(GNOME)の方が多いだろう
GTKがLGPLなのに対して、QtはGPLか最近のtool kit としては高額の
有償ライセンスかのいずれか
利用できる人間は、どうしても限られてくる

127:login:Penguin
08/12/17 15:27:32 KRTiKwTi
欲しいソフトがないから自分で作ろうと思う。
だが、どの言語もソースは読める程度、簡単な改造が出来る程度のレベルです。
だが、一からあのソフトを作りたい・・・。

そんな俺はどのようなGTK開発環境が良いとおもいますか?
今考えているのは、
Pygtk + grade の組み合わせです。
これを薦めるハッカーが多いのと、Pythonという言語がしっくりくるからです。

ほか、初心者におすすめのGTK開発環境がありましたら教えて下さい。

128:login:Penguin
08/12/17 18:01:23 lMmUsPdE
まあそのへんより簡単なのは無さそうだよね。自分はRubyが好きなので
Rubyで勉強してるけど。

129:vte
08/12/17 19:59:56 4+kAQRIa
vte-0.17.4 を ./configure && make && make install してみたのだけど, 画面端で漢字入力を始めると, 折り返しも延長もしてくれず, 入力文字が見えなくなる.

|                              ▽かんじに|

のように. でも次のようになってほしいのだけど,

|                               ▽かんじに|
|ぅりょく                                 |

とか. gtk-demo の text-widget の multiple views などはうまくいってます. .gtkrc-2.0 とかに何か設定が必要でしょうか?


130:login:Penguin
08/12/22 09:25:07 Z0zqkFax
>>127
GTKmm

131:login:Penguin
08/12/23 19:56:34 3l8ZCr+m
ところでpygtkって遅くね?
Core2Duoのマシンでボタンクリックしてからレスポンスが10秒後とかザラなんだが。
gtkmmとか生のgtkのほうがいいんじゃね?

132:login:Penguin
08/12/23 20:16:59 LQjeTU8C
gtkmmは地獄。

133:login:Penguin
08/12/23 21:14:13 2F34Up+Q
レスポンスが10秒後ってなんか間違えてるんじゃ

134:login:Penguin
08/12/23 21:25:44 ae4qT9Yd
PyGTK + glade3 の日本語チュートリアルのようなものありませんか?
この辺りが翻訳されているのですが、glade3では動きませんでした・・。

URLリンク(po3a.blogspot.com)
URLリンク(po3a.blogspot.com)

Rubyで勉強したほうが情報多い?

135:134
08/12/23 21:34:16 ae4qT9Yd
こちらのサンプルは PyGTK + glade3 動きました。
URLリンク(palepoli.skr.jp)

でもここから先が進めません。
PyGTK + glade3 で勉強になるサイトがあったら教えて下さい。
英語でもいいです。宜しくお願いします。

136:login:Penguin
08/12/24 06:59:19 aQCa49jr
pygtkのことは知らないんでよくわからないけど、これとかは?
URLリンク(www.micahcarrick.com)
これでだめなら、ウェブ全体からググれ。

ちなみにruby用の日本語チュートリアルはglade2使用。
URLリンク(ruby-gnome2.sourceforge.jp)

137:134
08/12/24 09:50:41 hiOOXDc5
>>136
ありがとうございます。
参考になりました。

138:login:Penguin
08/12/24 11:47:11 j0KWvBZ+
C++/GTKで書いたプログラムを
wxPythonで書き直したら
wxPythonで作った方がサクサク速く動いた orz


139:login:Penguin
08/12/24 14:47:02 gkyqeyAR
windows上か?

140:login:Penguin
08/12/24 15:36:14 EbVd5uRZ
PHP-GTKってどうよ?

141:login:Penguin
08/12/26 04:24:16 0/dGPTTl
そんなのあるのか。今度試してみよう。

142:login:Penguin
08/12/26 23:23:17 Z/96o+8l
いまさらかもしれないが時代は今CAIROだということに気づいた

URLリンク(journal.mycom.co.jp)

プラットフォームやハードウェアに依存せず精密な描画が可能になるらしい

CAIRO使えるのはGTK+2.10から上のver
誰か使ってる人いる?

143:login:Penguin
08/12/27 00:05:03 7rBKxqYP
時代を読み違えてるな。
ベクトルベースとか3DデスクトップとかVistaとともに沈んだよ。
PC肥大化狂騒曲は終わりだ。Qt4も総スカンだし

144:login:Penguin
08/12/27 06:06:34 B/jsjdnT
いやでも実際有名どころで使われてるわけだし

それに素のGTKのみで描画するより処理速度は速くなるし,
プラットフォーム間の互換性も高まると思う

別に肥大化してるわけじゃないしVistaや3Dデスクトップとはちょっと違うだろう

gtkがcairoをサポートしてまだ日も浅いしむしろ今からが勝負

145:login:Penguin
08/12/27 12:41:23 6Qaozst9
ふつーに使ってる。フォントの取り扱いがプラットフォーム中立にできればなおいいのだが。

146:login:Penguin
08/12/27 13:12:28 IS4Ugvd/
Cairo のフォント描画は Windows 上だとジャギが目立つ。Linux 上では問題無し。
何か設定がいるのかしら。

147:login:Penguin
08/12/27 20:23:11 B/jsjdnT
普通ベクトル・グラフィクスにジャギーは発生しない

なにか間違ってることは間違いない

148:login:Penguin
08/12/27 20:43:22 6XGFKeOe
>>144
速くなるって、なんかベンチの結果でもあんの?
skiaを用いているgoogle chromeのcanvasが爆速という話なら聞いたことがあるが

>>146
普通にcairoをコンパイルすると、Windowsではcairo-win32-font.cが使われる
これは普通にGDIを用いているので、普通のWindowsアプリのフォントの
レンダリングと全く同じ結果になる
一方LinuxではFreeTypeが使われる

149:login:Penguin
08/12/27 21:26:06 mPWXe8Aq
a

150:login:Penguin
08/12/27 22:20:00 B/jsjdnT
>>148
firefox2とfirefox3の速度比較は
確証を裏づけるものにはならないか?

一般的にラスター描画よりベクトル描画の方がデータ数が少なく、描画速度は速いと言われているし


ところでskiaて何?

151:login:Penguin
08/12/28 10:40:10 xJesvUS3
mexo
hanaxo

152:login:Penguin
08/12/28 11:37:59 5NoVhFnO
>>145-146
フォント描画にはPangoを使えばいいんじゃないの?


153:login:Penguin
08/12/29 18:19:47 qsmFI5vI
>>150
URLリンク(www.hyuki.com)

skiaは
google chrome skia
あたりでぐぐれ

154:login:Penguin
08/12/29 22:41:52 mdZmAujL
>>153
これはハードウェア実装のOpenGLによるベクタ描画と
ソフトウェア実装のcairoによるベクタ描画の実験結果だな...

ハードウェア実装だとプラットフォームやハードウェア環境の影響を受けるが
ソフトウェア実装より格段に速度を上げられる

だからこそcairoにもOpenGLによるハードウェアアクセラレーションのサポートがあるわけだが...

でもビデオカードやらのGPU性能依存というのは
それこそ3DデスクトップやらVistaやらのPC肥大化狂騒曲じゃないのか?

ハードウェア実装を否定してるわけじゃないが
これはアリなの?
そこのところどうなんよ?

155:login:Penguin
08/12/29 23:04:54 qsmFI5vI
>>154
んー
それを言うなら、GDIだってハードウェアアクセラレートされていて、
GDIがソフトウェアでエミュレートされるようになったWindows Vistaでは
実際描画が遅いのなんのと騒ぎになっていたわけだろ

cairoは、下のレイヤの上に乗っかって、アンチエイリアス描画を行うから、
一般的には下のプリミティブをそのまま用いるのではなく、
pixmapの上にソフトウェアレンダリングを行う形になる
だから結果は綺麗だが、それが高速化につながるという意見はさっぱりわからんね

皮をかぶせれば、ポータビリティは高まるかもしれんが、速くなるわけがないよ

個人的にちょっと試した限りでは、少なくともWindowsで普通にコンパイルした
cairoは、遅いといわれるGDI+よりもまだ遅いぐらいだ
同種の競合ソフトのaggと比べても、やはり遅いな

156:login:Penguin
08/12/30 02:24:04 chmi7ht1
cairoの下のレイヤって何?
cairoはGTK+/GDKやXlibの上にはない
そもそもpixmapのようなラスタデータ上にベクタデータを
ラスタライズしても綺麗な結果にはならない


Vistaが重い一番の理由はVistaのコアが4Gとかのせいじゃなかったか?

157:login:Penguin
08/12/30 03:17:23 xp1VmVKW
>>156
> cairoの下のレイヤって何?
> cairoはGTK+/GDKやXlibの上にはない

????
cairoは何らかのバックエンド(サーフェス)の上で描画を行うわけだが
一体何を言ってるんだ

> そもそもpixmapのようなラスタデータ上にベクタデータを
> ラスタライズしても綺麗な結果にはならない

ビットマップディスプレイに、ラスタデータ以外をどうやって描画するんだ?
ベクタグラフィックスだろうが3Dだろうが、ビットマップディスプレイに
描画するときは、*必ず*2Dラスタデータに落とす(=レンダリング)
しなければ、描画のしようがないのだが、そんなことも知らないのか?

レンダリングをソフトウェアで行うか、ハードウェアで行うかは
実装の問題だがな

158:login:Penguin
08/12/30 03:38:55 F99IYk+S
他の領域に落としたらそれが遅くなる原因だしな。
絵の処理なら、cpuから見えるメモリ領域のビットマップに転送が遅くなる原因のno1。
cairoは、その辺がすべてバックエンド任せでさらにメモリ上でいじるので、
普通に使うと遅いソフト(cpu)処理の部類に分類される。

てか、cairoの中身でも描画なんかは一切触れずに、cairo_surface_tで共通化とでしか使ってないと思うんだけどどう?

159:login:Penguin
09/01/04 04:31:10 OlEL3WLc
待てばcairoの日和あり

160:login:Penguin
09/01/04 09:09:03 Ls6s3Y+a
で?

161:login:Penguin
09/01/08 14:49:56 25IYEPJi
初めて拝見するが、
ここの良スレ度にびっくりした。

162:login:Penguin
09/01/11 10:45:28 G50GhRZF
「右」キーにアクションをバインドしたいんですが、どうすればできますか?
今は仕方なく
gtk_widget_add_accelerator (foo, "activate", accel_group,
GDK_Right, GDK_MODIFIER_MASK,
GTK_ACCEL_VISIBLE);
のようにしてますが、実際は GDK_MODIFIER_MASK 無しで「右」キーのみ
で作用するようにしたいんです。

163:login:Penguin
09/01/12 22:30:23 Ap11sUPz
ところでさ、なんでGtkTreeViewColumnに
gtk_tree_view_column_get_widthはあるのにgtk_tree_view_column_set_widthはないの?
なんでカラムの幅を非常にまわりくどい方法でセットする事しかできないんだろう。

164:login:Penguin
09/01/13 21:49:47 4aexh9M5
バカ除けのため

165:login:Penguin
09/01/14 06:35:18 ON4hZt79
>>164
なにそれww

166:login:Penguin
09/01/14 10:40:30 hbYm8nJe
>>163
他のコラムに対する影響を考えないといけないからでないの? 推測だけど

167:login:Penguin
09/01/19 07:00:18 Zkvelgln
どうすればtoolbarを縦に位置させることができますか?


168:login:Penguin
09/01/19 14:58:09 rA2FfI0+
ディスプレーをガタンとですね

169:login:Penguin
09/01/19 15:05:50 Zkvelgln
>>168
???

170:login:Penguin
09/01/20 05:28:26 N3/xwV6v
>>167
D&D

171:login:Penguin
09/01/20 07:38:29 eUZx4J2+
>>168
ワロタ

172:167
09/01/21 13:15:59 cRTwudVb
>>168
真面目に答えていただけませんか?

>>170
詳しく教えてください。


173:login:Penguin
09/01/21 16:47:39 oi/rQuGm
>>172
自分は真面目に調べたのか?

174:login:Penguin
09/01/21 22:48:05 zay9Vio9
>>167
まず言語は何でプログラミングしてるの?
個人的には盛り上がって欲しいスレではあるのだけれど。
CでガリガリGTKアプリ書いてる人あんまりいないのかな…

175:167
09/01/22 01:25:28 qMqmINP5
>>174
C でやってます。

176:login:Penguin
09/01/22 02:12:53 N/oI0lI0
>>175
set_orientationでvertical指定
詳しくはググれ



177:login:Penguin
09/01/23 07:41:44 Azeyn9TC
Objective-C使ってます

178:167
09/01/23 13:07:07 AEZO7GNu
toolbar を縦(vertical)に配置することには成功したのですが、
menubar を縦(vertical)に配置する方法が見つかりません。

// 例えば、menubar に対しては gtk_toolbar_set_orientation と同様の関数が存在しません。

どうすればできるでしょうか?


179:login:Penguin
09/01/24 17:41:53 j3OrWlaN
linuxデスクトップユーザーの特徴

①インストールしただけで選民思想
②やっていることはwindowsと同じ。しかもめんどくさくなっただけ。
③コマンド打ち込んでプロだと勘違い
④黙ってwindowsでも使ってろと間口を狭める
⑤素人がだのなんだのとwindowユーザーを馬鹿にする
⑥カーネルいじればいいだろと無茶を要求
⑦linux開発者とのずれを認識できていない
⑧wineを使うくせにlinuxを再現しようとする動きがあるとたたく

       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    __________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ──‐ヽ /  /  linuxはめんどくさくて難しい分だけ、
     /|ヽ   ヽ─'   / <  自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

180:167
09/02/01 07:28:50 lE4ur93H
お前等、なにも知らないんですね。

181:login:Penguin
09/02/02 10:47:56 IIH5qxfd
もともと閲覧者が少ないスレで
自分の欲しいタイミングで回答を得ようとしてるのが間違い

半年位待ってみろ

182:login:Penguin
09/02/02 11:13:18 6BkR0lwx
>>181
では、LinuxでGUIを作るにはどのライブラリを使うのでしょう?

183:login:Penguin
09/02/02 11:41:10 J5ctVuxx
* 女でLinux使ってる奴 -- スレリンク(linux板:355番)
355: login:Penguin [] 2009/01/19(月) 12:20:24 ID:Zkvelgln

私は女に一番受けのいいlinuxディストリビューションを知っている。


* Gnome vs KDE -- スレリンク(linux板:136番)
136: login:Penguin [] 2009/02/01(日) 11:19:51 ID:lE4ur93H

今 C の gtk+ 使ってアプリ書いてるけど、
血反吐でそうなぐらい面倒くさい。。。
だれかもっと使いやすいライブラリ作ってくれ。。。


* 女でLinux使ってる奴 -- スレリンク(linux板:417番)
417: login:Penguin [sage] 2009/02/01(日) 12:29:52 ID:lE4ur93H
>>416
発音は「テック」。
英語ができない日本人はなぜか「テフ」と言っている。
偽の発音を使い続けるのはそろそろ止めにしないか?

本当は「イケマン」と言うべきなのに、「イケメン」
と言う日本人。もうね、アホかと。


* 女でLinux使ってる奴 -- スレリンク(linux板:415番)
415: login:Penguin [sage] 2009/02/01(日) 11:05:18 ID:lE4ur93H
>>413
○ tex = テック
× tex = テフ

184:167
09/02/02 13:03:00 9NCOwk9m
>>183
変な事言ってるように仕向けたいんだろうけど、
lE4ur93Hは正当な事言ってんじゃん。

185:login:Penguin
09/02/02 20:46:11 2frQG7fR
ただの荒らしコピペに反応すんなよ
NG登録されて回答もらえなくても知らんぜ

186:login:Penguin
09/02/10 20:32:40 8DV6Um/n
ファイル選択ダイアログを、ターミナルから閉じたくて、
下の処理を入れたのですが、ダイアログを閉じた後、応答が無くなります。
(GUIでキャンセルボタンや×をクリックすると正常に閉じれる)
どうすれば、ターミナルから正しく閉じれるかを教えてください。

GtkWidget *filew = NULL;
void FileSelection::destroyFileSelection()
{
  status = false;
  gtk_widget_destroy(filew);
}

187:login:Penguin
09/03/29 11:33:55 JOkFFCq+
Windowsでは、自分以外のプロセスが管理しているウィンドウのハンドル(動作中のOS上で
ユニークな識別番号)を得ることができれば、そのウィンドウのサイズやデスクトップ上での
位置などを好きにいじくったりできるのですが、LinuxのGTK+(またはGNOMEもしくはX Window
System)にそのようなAPIのようなものはありますか?

188:187
09/03/29 11:38:55 JOkFFCq+
すみません、ageさせてください。

なにがやりたいかと言うと、特定の文字列をウィンドウタイトルに含むトップレベルの
ウィンドウに対して、デスクトップ上での表示位置やサイズを変更したりといったことです。

189:187
09/03/29 20:36:19 JOkFFCq+
自己レス

libwnckてのが関係ありそうだが、Rubyから使えるんだろうか。Pythonにはそのための
モジュールが既にあるみたいなんだけど。今Ubuntu起動できないからよくわからん。

190:login:Penguin
09/03/29 21:12:45 Afl3tAxS
>>187
wmctrl コマンドのソースでもみればいいんじゃね?

191:187
09/03/30 10:56:06 +ewzli1b
レスありがとうございます。こんなコマンドがあったんですね。自分の目的にはこれを
利用するだけで十分そうですが、ソース読むのも勉強になって面白そうですね。

結果的にスレ違いになってしまってすみません。

192:login:Penguin
09/04/23 11:32:24 rK6Swnpx
だれか clispからgtkを使う方法を教えてください


193:login:Penguin
09/07/10 07:43:15 jUacI/UD
VMwareがGtk産だったとは

194:login:Penguin
09/07/17 23:36:58 hHQTz6KG
本気で聞く
おまえらはどうやってGTK+勉強なさいましたか?

195:login:Penguin
09/07/18 13:41:00 MyXAq5ze
>>194
GTK+ソース付属のexamples+demosを動かして遊ぶ

GTK+ソース付属のtutorialを一通りこなす web: URLリンク(library.gnome.org)

doc/reference読み方を覚える

小さいアプリをsourceforgeとかfreshmeetで見つけてきて参考にする

irc.freenode.netの#gtk+とかメーリングリストで質問

196:login:Penguin
09/07/18 15:41:41 0IAjxnq5
難しそうですね
断念しました

ありがとうございませんでした

197:login:Penguin
09/07/18 18:31:08 NxC2oWbI
何をどう見たら難しそうなんだよ?
ゆとりか?
英語にびびるな!

サンプルソースなんてコピればコンパイルできる

WindowsでもLinuxでもCode::Blocks使えばそれほど
コンパイルできる開発環境の準備には手間取らない

198:login:Penguin
09/07/18 19:30:03 +ryPUP7D
ママが一から十まで教えてくれなきゃイヤなんじゃね

199:login:Penguin
09/07/18 20:00:15 ghQ1gSty
pygtkがいちばんやさしくてにょろにょろ

200:login:Penguin
09/07/18 20:39:03 0IAjxnq5
>>197
そうですね
サンプルソースをコピーして勉強したことにしようと思います

>>198
そうですね
パパじゃいやです

>>199
そうですね
数十年ぶりにしゃぶりたいです

>>195
俺、本気になります!真面目に勉強します!
ありがとうございました!!

201:login:Penguin
09/07/19 01:03:57 vKaqQMs4
携帯とか組みこみでGTK+を使っているものって何かある?
海外では結構あるみたいだけど、日本だと聞かないよな。

202:login:Penguin
09/07/24 16:52:07 99ViSCNs
>>201
書いてないだろ常考

203:login:Penguin
09/07/24 17:15:55 aH4gErtS
>>202は日本語に不自由な方?

204:login:Penguin
09/07/24 17:48:23 99ViSCNs
うん

205:login:Penguin
09/07/24 23:12:42 6YmCBCzn
GTKはもう少しで消滅する
googleの新しいソリューションに置換される

206:login:Penguin
09/07/25 04:36:37 00SH8Kn9
Chrome OS の事か?
確かにウィンドウシステムは時前のものを用意するらしいけど、
どうなんだろうね。そもそもソースが公開されるかどうかも怪しい。
それに、GTK+の培ってきた年月を一気に越えられるとも思えないし。


207:login:Penguin
09/07/25 05:18:20 corW1o/2
グーグルは基本Qtじゃないの。
でも今更ブラウザの下の層なんか関係ないはず。
HTML5 でアクティブデスクトップっていう懐かしいお話をもう一度やるんでしょ

208:login:Penguin
09/07/25 06:22:09 00SH8Kn9
まぁ、googleはWEBアプリが基本だから、そうなるのかね。
ただ、この事前の大袈裟なプロパガンダはMSに似てるなw


209:login:Penguin
09/07/25 09:19:09 wdRQEHVW
GTKスレはあるのにQTスレがないのはなんでだろう~

210:login:Penguin
09/07/25 10:58:46 QoKls/xb
>>209
ム板にあるからじゃないか?

211:login:Penguin
09/07/25 11:39:56 IOPwPp1+
>>209
スレリンク(tech板)

どっちかと言うとQtの方が活発

212:login:Penguin
09/08/23 00:41:14 cXbPjTOU
初歩的な質問です。

Xを使わずにフレームバッファを使うGTK+アプリをリンクする際は、どのgtkライブラリをリンクすればいいのでしょうか?
Xを使う場合だと以下のようなリンクオプションになると思いますが、フレームバッファを使用する場合のリンクオプションを教えてください。
$ pkg-config gtk+-2.0 --libs
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  


213:login:Penguin
09/08/23 01:17:03 oYmg5B0H
Xを使わずにフレームバッファを使うGTK+とやらはインストールしてあんの?

214:212
09/08/23 02:02:51 cXbPjTOU
debian上からaptitudeでlibgtk2.0とlibgtk2.0-dev関連のライブラリをインストールしてあります。


215:login:Penguin
09/08/23 06:49:16 Do4KpMOi
Xを使わないと動かんよ。
Gtk+はXLibの面倒臭さを軽減するためのライブラリに過ぎんのだから。
Windowsに移植する場合にもXLib相当のが要る

216:login:Penguin
09/08/23 09:20:44 WBxszhFm
>>214
それはX用のパッケージ。
フレームバッファ用のGTKはlibgtk-directfb-2.0-*だぞ。

>>215
知ったか乙

217:212
09/08/23 10:44:26 cXbPjTOU
>>216
そうなんですか!

以前ググったら下記サイトのフレーズが目に留まり、てっきりDirectFBじゃなくてもフレームバッファでも利用可能なのだと思ってました。 orz
URLリンク(armadillo.atmark-techno.com)
>GTK+
>GNOME アプリケーションでユーザインターフェースを構築するのに利用される基礎的なライブラリで,XWindow System 上で動作します(URLリンク(www.gtk.org)).フレー>ムバッファやDirectFB 上などでも動作するように設定することができます.

ご教示いただいたライブラリをインストールして確認してみます。


218:login:Penguin
09/08/29 19:05:24 7RbftsXX
libgrade+gtkmmをいじって遊んでいるのだけど
メインウィンドウからダイアログのようなウィンドウを開く
サンプルは何処かに有りませんでしょうか

219:login:Penguin
09/08/29 21:56:36 OBRUPUZc
>>218
gtkmm-demo を起動してみては?
結構いろんなサンプルがあるな > gtk-demo pygtk-demo gtkmm-demo


220:login:Penguin
09/08/30 01:00:57 XE+apBqt
>>219
libgladeを使っていない様です。

221:名無しさん@そうだ選挙に行こう
09/08/30 08:33:18 Czh9S0PJ
>>220
libgladeは使われなくなる方向だから、、、って思ったけど、
gtkmmだとBuilderを使ったサンプルが無いな。。。
おそらく、以下はチェックされていると思うけど、
URLリンク(gtkmm.org)
複数のwidget idを使っているサンプルは無いですね。。。
Gnome::Glade::Xml::create()して、get_widget()して、
signal処理してrun()する流れは同じだと思うけど、
丁度良いサンプルは見つからないな。。。

222:名無しさん@そうだ選挙に行こう
09/08/30 08:51:11 IHJ1WvuS
>>221
有難うございます。小汚い書き方で何とか表示だけはするようになりました(いろいろ問題が有るけど)
綺麗に書いてあるサンプルなど見ればもう少しましになるかと思ってたのです。
libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
今は何を使う方向なんでしょうか?

223:名無しさん@そうだ選挙に行こう
09/08/30 10:37:24 Czh9S0PJ
>>222
> libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
> 今は何を使う方向なんでしょうか?
Glade 3.6.7のglade-3を起動したら、プロジェクトのオプションってダイアログが開く。
そこには、プロジェクトのファイル形式でGtkBuilderとLibgladeを選択できる。
今後は、GtkBuilderがデフォルトになって、ファイル接尾子が.uiになる。

サンプルはgtk-demoのBuilderのソースを見るとわかると思う。
そして、gtkmmのサンプルが無いな~って話。

URLリンク(live.gnome.org)
のUpcoming Deprecationsで非推奨になっているものは、消えゆく運命。

224:名無しさん@そうだ選挙に行こう
09/08/30 11:08:36 IHJ1WvuS
>>223
Debianのlennyを使っているのでAnjuta 2.4.2、Glade 3.4.5です・・・
GtkBuilderのサンプル探しの旅に出たいと思います。有り難うございます

225:login:Penguin
09/08/31 02:59:20 WV5KE7UC
glade も GtkBUilder もほとんど同じだから、リファレンスを見ながらで
書けると思うけど。


226:login:Penguin
09/08/31 14:47:43 4XJ92u20
GtkBUilderを使ったGtk::Drawingariaのサンプルを作ろうとしたんだけど
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?

227:login:Penguin
09/09/01 01:49:35 o0MV2wSR
とりあえずこんな感じか。
(ちなみに C++ は main に限って return は不要。これ豆知識な)

int main(int argc, char** argv)
{
Gtk::Main kit(argc, argv);

AppWindow::Initialize(argc, argv);

Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file(AppWindow::GLADE_FILE_NAME);

AppWindow* app_window = 0;
builder->get_widget_derived(AppWindow::WINDOW_NAME, app_window);

kit.run(*app_window);
}


228:login:Penguin
09/09/01 01:51:56 o0MV2wSR
class AppWindow : public Gtk::Window
{
public:
static const char* GLADE_FILE_NAME;
static const char* WINDOW_NAME;

static void Initialize(int argc, char** argv);

AppWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
virtual ~AppWindow();

protected:
void on_quit_action_activated();

private:
const Glib::RefPtr<Gtk::Builder>& m_builder;

Glib::RefPtr<Gtk::Action> m_act_quit;
};


229:login:Penguin
09/09/01 01:58:01 o0MV2wSR
const char* AppWindow::GLADE_FILE_NAME = "app_window.glade";
const char* AppWindow::WINDOW_NAME = "window1";

void AppWindow::Initialize(int argc, char** argv)
{
// 初期化なんかをここで

// OpenGL の描画を独立して(別ウィンドウで)出来るようにしてみる
Glib::signal_idle().connect(sigc::bind(sigc::ptr_fun(PollEvent), DrawGL));
}

AppWindow::AppWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder)
: Gtk::Window(cobject), m_builder(builder)
{
m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));

m_act_quit->signal_activate().connect(mem_fun(*this, &AppWindow::on_quit_action_activated));

move(0, 0);
resize(240, 720);
}

AppWindow::~AppWindow()
{
}

void AppWindow::on_quit_action_activated()
{
Gtk::Main::quit();
}


230:login:Penguin
09/09/01 02:02:59 o0MV2wSR
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。


231:login:Penguin
09/09/01 20:43:11 LcijR9gh
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ

232:login:Penguin
09/09/01 20:45:43 azH81sw2
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ

233:login:Penguin
09/09/02 01:45:20 XY5vbVWT
ちなみに AppWindow みたいに Gtk::Widget を継承している場合は、単に

class AppWindow : public Gtk::Window
{
public:
virtual void on_show()
{
cout << "表示された" << endl;
}
};

みたく仮想関数をオーバーライドするだけでいいんだけどね。

ただ、これもトップレベルのウィンドウのイベントしか反応できないから、
>>229 のコンストラクタみたく cast_static なんかでボタンとか取得して、
自分のメソッドを connect していくのが C++ っぽい書き方な気がする。


234:login:Penguin
09/09/02 13:02:19 Wp36mia7
>>227
コンパイルしてみたけどエラーで落ちてしまったよ

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?

235:login:Penguin
09/09/02 18:54:23 Wp36mia7
結局こんな感じに書いてつながったけど、何かモヤモヤするよ
複雑になってくると小汚くなりそうだなー

builder_xml->get_widget( "drawingarea1", daria1 );
daria1->signal_button_press_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_press ) );
daria1->add_events( Gdk::BUTTON_PRESS_MASK );
daria1->signal_expose_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_expose_event ) );
daria1->add_events( Gdk::POINTER_MOTION_MASK );
daria1->signal_motion_notify_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_motion_notify_event ) );
daria1->signal_realize().connect( sigc::mem_fun( *this, &MyDialog::on_daria_realize ) );

236:login:Penguin
09/09/02 19:25:12 Wp36mia7
class MyDialog
{
Glib::RefPtr<Gtk::Builder> builder_xml;
Gtk::DrawingArea* daria1;

public:
MyDialog();
virtual ~MyDialog(){}
bool on_daria_press(GdkEventButton* event);
bool on_daria_expose_event( GdkEventExpose* event );
bool on_daria_motion_notify_event( GdkEventMotion* event );
void on_daria_realize();
};


237:login:Penguin
09/09/03 02:34:12 6mgKfH1n
>>234
> m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
> これってどんな意味かな?
これは GtkAction を取得するんだけど get_object は Glib::RefPtr<Glib::Object> を返す
からキャストが必要になるけど、ドキュメントには cast_static を使うようにって書いて
あるからこうしてる。

当然 app_window.glade に "action1" という名前の GtkAction がないと駄目だよ。
それで落ちてるんじゃない?

238:login:Penguin
09/09/03 02:38:43 6mgKfH1n
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。

239:login:Penguin
09/09/03 02:47:30 6mgKfH1n
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。


240:login:Penguin
09/09/03 12:32:06 jVnTHMiE
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

GtkBuilderを使わない方も少しいじってみるよ

241:login:Penguin
09/09/06 14:05:15 aXigLrxm
Gtk::SpinButtonを浮動小数点表示にする事は出きますでようか?

242:login:Penguin
09/09/14 13:21:24 kBmevVmP
cairommでバックバッファを使った描画はどうすれば良いのでしょうか?
save(),restore()は少し違うような気がして・・・

243:login:Penguin
09/09/15 17:55:42 1BtVuQj7
GTK+onDirectFBをインストールしようと思ってDirectFBのサイトに行こうとしたら
なぜか繋がらないんだけど誰か教えr・・・教えてください。

244:login:Penguin
09/09/15 17:56:26 1BtVuQj7
sageちまった

245:login:Penguin
09/09/15 17:59:06 1BtVuQj7
URLリンク(www.directfb.org)

URLも貼っておきます。
繋がらない、マジで誰か教えてください

246:login:Penguin
09/09/21 16:41:13 X29eYjZv
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。

247:login:Penguin
09/09/24 10:56:15 hMFgf6/j
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。

248:login:Penguin
09/09/24 11:11:57 hMFgf6/j
URLリンク(www.daa.com.au)
URLリンク(ruby-gnome2.sourceforge.jp)

どうもそのようですね。でも、もっと簡単にできないもんか……。

249:login:Penguin
09/09/25 18:17:32 WaiZYKyV
>>243-245
DirectFBのソースをDLしようとオフィシャルサイトを開こうとしたけど、まだサーバが落ちたままだね・・・
9/14頃から落ちてるっぽいからメンテナンスにしては長過ぎだよね。
もしかしてDirectFB終了フラグON?

250:login:Penguin
09/09/27 00:08:06 ng4uKqzS
>>249
今はつながってる。digしたら212.227.87.76だった。

251:login:Penguin
09/09/28 02:12:56 5e1BLaTK
GTK+2.18記念あげ

ウィンドウの管理すらGDKで行なうようになり、ちらつきを減少させたり
ウィンドウの変形やアニメーションを行なえるようになったり、別の
(Clutterのような)描画ライブラリの中に簡単に埋め込めるように
なったりしたようだ。

他にも、各プラットフォーム毎に実装していたウィンドウを管理するコード
を共通にする事ができるようだ。

WindowsやMacOSXでの動作が改善されたらいいなと。

252:login:Penguin
09/10/04 14:16:19 P8VQfdNh
gtkmmで複数のウィンドウを開くプログラムは作れますか?
イメージ的にはGIMPの様なコントロールが有って描画画面が有る感じ
gtk+を使えば出来るのかな?

253:252
09/10/05 12:16:45 yVAGOb64
やり方が分かったの報告(するまでもないのかな・・・)
Gtk::Windowを継承したクラスをインシタンス化して

hogehoge.show()

で表示されました。(バカみたいな話でお恥ずかしい)


254:login:Penguin
09/10/07 17:30:55 PMxweG2O
インシタンス><

255:login:Penguin
09/10/11 18:03:35 Sidlsc4E
Failure to compile 64 bit gtk on mac os
URLリンク(buffalothedestroyer.blogspot.com)
>Attempted to install gtk+-2.17.2 on my mac. Had to install:

URLリンク(www.nabble.com)

mac 環境だと gtk は使えないんだろうか…?

256:login:Penguin
09/10/12 14:47:14 sqmRrC1g
ググってみたけど使えるっぽいよ

257:login:Penguin
09/10/13 21:28:52 l2EymYVQ
>>255
Leopard だけど、MacPortsからインスコできたよ。
Ruby/GtkとPyGtk用にと。

258:login:Penguin
09/10/14 03:07:04 VVFhTsV6
URLリンク(www.amazon.co.jp)入門GTK-菅谷保之/dp/4274067769

webの情報をまとめた程度らしいけど
gtkmmも扱って欲しかったかな

259:login:Penguin
09/10/14 03:31:23 cB0J9abS
Gtk+2 で初の和書じゃないの。出るだけで価値がある

260:login:Penguin
09/10/14 03:43:48 Evvplg3O
まぁお布施のつもりで買っておくか

261:login:Penguin
09/10/14 12:08:22 oK0tjYE+
Gtk::SpinButtonの値が変更された時に発生するイベントを一時的に停止することは出来ますか?
複数のGtk::SpinButtonが変更されるのが分かっている場合に一時的に停止して
手動でアップデートしたいのです。

262:login:Penguin
09/10/14 22:05:50 8MVmnU1X
>>258
gtk2hsも扱って欲かったwww
買うけどなwwww

263:login:Penguin
09/10/14 23:22:20 QhaIdhW6
QtよりGTK+がイイみたいだぬ、GTK+に決めるぬ

264:login:Penguin
09/10/15 00:17:55 K/xBs5bI
Qtもいいぬ。触ってみてぬ(´・ω・`)

265:login:Penguin
09/10/15 03:29:50 eDklkq43
>>258
そもそも洋書でもgtkmmはないだろ。そんな中で日本語の本なんて奇跡が
起こらない限り無理だろ。


266:login:Penguin
09/10/15 13:37:26 pxmDyP/M
>>258
独創的なな表紙だな

267:login:Penguin
09/10/15 23:20:38 eyJUfiVx
   【恐怖の】呆れるほど危険な民主党の正体【民主党】
    http://www.yo●utube.c●om/watch?v=●MUv12Ae7ojE
    小沢一郎 ~ 闇の系譜 :秘書逮捕の真相/北朝鮮との黒い関係 高画質
    http://www.yo●utube.com/w●atch?v=gdKVt●_vKCHc
    2/3【イリハム・マハムティ】東トルキスタンの歴史と中共の弾圧[H21/7/8]
    http://www.you●tube.com/watch?v=6eUN●hjdBLXg
    漫画で学ぶチベット問題
    http://www.ni●covideo.jp/w●atch/sm275●2213
    日米規制改革および競争政策イニシアティブに基づく日本国政府への米国政府要望書
    URLリンク(japan.u)●sembassy.●gov/j/p/tpj-j2●0041020●-50.html#mineika-s

●の部分は外してブラウザのURLに入れること



268:login:Penguin
09/10/16 23:10:15 qPhMCs8o
>>258
「入門GTK+」
今日、買ってきたよ。

最近は、Web上のホームページのプログラミング解説の方が分かり
易いとうことが多くなってきているようだけど、
「入門GTK+」を
サックっと、50ページくらい読んでみたところ
この本は、意外に読みやすいし、わかり易い。
他のプログラミングの習得に挫折した人でも何とかいけそうな感じかな。

269:login:Penguin
09/10/16 23:12:12 q3/VuRbk
QtだとQt CreatorとゆうIDEが使いやすいけど、
GTK+使う時はどんなIDE使うと便利ですか。

270:login:Penguin
09/10/16 23:26:21 qPhMCs8o
>>269

「入門GTK+」では、Anjuta(アニュータ)が紹介され解説されているね。

271:login:Penguin
09/10/16 23:34:15 qPhMCs8o
そうそう、時間があったので
qt4の解説書も立ち読みしてきたんだけど、今日買った「入門GTK+」
の方がわかり易かった。

誰か、「猿でもわかるqt4」って本、書いてくれないかな~

272:login:Penguin
09/10/16 23:37:35 q3/VuRbk
GTK+は使ったときないけど、QtもQt Creatorもすごく使いやすいぬ(´・ω・`)
GTK+簡単なら使ってみようかしら。

273:login:Penguin
09/10/17 14:15:16 XYXybyM0
>>268
読みやすいのか、ボーナス出たら買おうかな。

>>272
C++使えるならQtだけでいいんでない?
おれはCしか知らないからGTK…

274:login:Penguin
09/10/17 15:22:41 nWRW4zS0
そいつム板のwxスレを荒らしてるキチガイだから放置推奨

275:login:Penguin
09/10/18 03:51:09 +Fs337jm
Gtk+の場合はGladeってのがある。もちろん簡単。

276:login:Penguin
09/10/18 09:53:27 juku8Oo/
gladeはもうobsoleteだけどね。今はGtkBuilderを使う

277:login:Penguin
09/10/18 09:59:19 oZOJkxHq
glade自体はまだまだ現役だよ。
ただlibgladeはもうobsoloteだけどね。

278:login:Penguin
09/10/18 21:34:36 mlVaod2q
>>271
ok
究極の友愛本と帯に書いておくよ


279:login:Penguin
09/10/21 08:09:56 2ccCLXEP
あと半年たらずでGTK+3が出るこの時期に出さんでもという気もするが。

280:login:Penguin
09/10/21 12:58:05 tvBs0TF8
>>279
HPに公開していたGTK+の第2版までのドキュメントを著書にしたいという願いと、
出版社側での「最近GTK+の本が出ていないので出したい」と言う思わくが一致して
GTK+-2の解説であっても出したんでないの。

281:login:Penguin
09/10/21 21:25:41 6UoL2jU0
GTK+3ってそんなに変わるの?

282:login:Penguin
09/10/21 22:08:56 dJLlBo7l
>>281
うん

283:login:Penguin
09/10/22 05:25:32 sG60T9Up
3Dデスクトップをデフォルトにする方向性はやめてほしい。
Vista も KDE4 も総スカンだろ?
CPUのクロックが頭打ちなんだから、プログラマは節制しないと。

284:login:Penguin
09/10/22 06:02:24 IEkHgIHU
CPUのクロックが頭打ちだからこその3D描画だろ
GPUにやらせたほうが描画は速い ※適切な3Dドライバがある場合に限る

285:login:Penguin
09/10/22 07:05:43 +CGcKXd7
オイラは、普段非力なマシンばかり扱っているから3Dをすると重くてかなわん!
GTK+3が出ても当分は、GTK+2を使うよ。

「入門GTK+」を参考にすれば、jpgやgifのイメージビュ-ワが簡単に作れるし
動作も軽いからね。

286:login:Penguin
09/10/22 09:00:06 hz6htkDb
描画は速いかもしれないがメモリ食うんだ

287:login:Penguin
09/10/22 18:11:31 oTwQaR0U
GTK+3は使用メモリ量が減って重くなるの?

288:285
09/10/22 19:41:05 2c91WZnW
因みに我が家での、
「入門GTK+」を参考に作ったイメージビュ-ワで
画像 1024x768_16bit_color.jpg(65536色)表示時のメモリ使用量は、

イメージビュ-ワ本体だけの立ち上げ時: 1.25MB
画像1024x768_16bit_color.jpg表示時: 1.25+2.62=3.87MB
だった。

289:login:Penguin
09/10/22 22:10:41 1jy7wL1R
Windows だと何十メガとメモリ食うよね。
まあしょうがないんだろうけど。

290:login:Penguin
09/10/22 22:42:41 GKZrjVVp
GTK+3はスルーしてGTK+4まで待つお(´・ω・`)

291:login:Penguin
09/10/23 02:29:05 icsRYQ9+
Gtk+3は現状で限りなく3に近づいているから、そんなに変わらない。


292:KyPAWlrSIokuKhBa
09/10/23 22:50:30 gHGN7SxH
The psychology literature certainly has a lot to say about the topic, but economists have a rather simplistic view of the issue. ,

293:login:Penguin
09/10/24 00:38:30 9RfZkvGi
>実のところ,私はKDE-1.0を見て(日本語は通らなかったものの)デスクトップ分野での UNIXの未来を確信し,
>GNOME-1.0を見て目の前が真っ暗になった人なのですが(笑)
>当時はQtが改変不可だったために,GTK/GNOMEを選択せざるを得なかった.

とあるサイトの人のことばなんですが、詳しいことがさっぱりなので、どういう文脈なのかわかりません
誰か解説していただけたら幸いです。もしこれが荒れるような内容でしたらスルーを…

294:login:Penguin
09/10/24 01:27:11 BKx301Ml
趣旨は脚注でない本文のほうにあると思うが、
GObjectも定着して成長したし、いまは中の人の評価も少しは違うかも。
まぁGtk+はダサい技術だと思う。でもダサいほうが品質高かったりするわけだが

295:login:Penguin
09/10/24 01:54:57 Qc2ltt6a
クラス構造体の中に変数詰めてるとか(VTableとしても使えたなら…)、
G_SIGNAL_ACTIONフラグはただの目印にしかしてない所や、
せっかくGObjectというランタイムタイプシステムこさえてるのに
一部C言語バインディングからしか使えない機能とかあるっぽいところとかGTK+はだせぇなあと思う。
でもGObjectは面白かった。QtのmocやSiGnal/SLOTはいまいちそそられない。

296:login:Penguin
09/10/24 04:12:11 wG3ZsfW/
今はValaが熱いよ。GObjectが好きな人なら尚更ハマること請け合い。

>>293
まぁ見ての通りだと思うけど、KDE1.0は衝撃的だったな。KDEが出るまでは
Linux(BSD)は一部のマニアのおもちゃでしかなかったのが一般にも普及しそう
な期待があった。
結局サーバー分野はある程度普及したけど、デスクトップ分野は今も昔も
変わってないけどね。
で、Gnome1.0あんまり記憶がないんだけど見た目はMotifに似ていてダサくて
動作が不安定だった記憶がある。


297:login:Penguin
09/10/24 12:25:04 9hbzJrW8
シグナルとかが補完されるエディタってないかな?

298:login:Penguin
09/10/24 13:28:04 KFtS7ScQ
>>297
gedit + gtksourcecompletion で、、、
URLリンク(gtksourcecomple.sourceforge.net)
valaでしか試してないけど、一応動く。

299:login:Penguin
09/10/24 19:23:04 wyOmgHI3
Gnome 1というとSolarisのイメージがあるなあ
大学の標準装備だった。俺は速攻twmにしたが。

300:login:Penguin
09/10/29 23:20:42 6yKiv2hH
これからGTK+を学ぼうと思っています。
主にLinuxで開発するつもりで、AnjutaというIDEを使ってみようと思いますが、
Windowsマシンでたまにコーディングしたいときにはどうしたらいいんでしょ?
Windows版ってありますか?
Linux板で聞くのは変ですが…。

301:login:Penguin
09/10/30 21:38:43 7aJTkb9U
>>300
ム板にもスレがあることに気づいて
そこの過去情報を読んだら解決しました。
お邪魔しました。

302:login:Penguin
09/11/01 17:23:59 qpVzDXQL
GUIツールキットを比較しつつ、どれがいいか検討しています。
今の第一候補はGTK+ですが、実際に使っている人の声を聞きたいです。
他の候補はQt、wxWidgetsで、言語はC++の予定です。

GTK+
 ・GnomeやXfceで使われているので、ユーザが多そう
 ・ライセンスはLGPL
 ・多くの言語向けのバインディングがあるが、CではなくC++だと少し注意が必要(?)
 ・各OSのネイティブなルック&フィールではないが、テーマによっては近い外観で描画できる

Qt
 ・KDEで使われている
 ・Nokiaがやっていて安心感がある
 ・LGPL、GPL、商用版のQPLは制限が非常に緩い
 ・おしゃれな外観(?)

wxWidgets
 ・GUIの他に多くの機能のラッパが存在して便利
 ・ネイティブなルック&フィール
 ・IDE、RADツールが豊富
 ・日本語の扱いにやや難あり(?)

Ultimate++というのも気になりますが、マイナーだし、日本語が使えない問題もあるようです。

これらは自分で集めた情報なので間違ってるかもしれません。
他にメリットやデメリットがあればどうぞ教えてください。
よろしくお願いします!

303:login:Penguin
09/11/01 21:17:41 lntj8SS+
C++ならQt

304:login:Penguin
09/11/01 22:13:27 qpVzDXQL
>>303
やっぱりGTK+はC++に向いてないということですね。
情報ありがとうございました。

他にも情報があれば皆さんよろしくお願いします。

305:login:Penguin
09/11/01 22:14:04 TdugBe1j
つGLUT


306:login:Penguin
09/11/01 23:32:48 o2Fus8Wv
>>304
gtkmmいいよ。

307:login:Penguin
09/11/02 00:05:28 F2TUeYlu
>>305
GLUTを調べて見ましたが、OpenGLのやつなんですね。
3Dにはあまり興味が無いですが、今後必要になったとき使ってみます。
情報ありがとうございました。

>>306
GTK+はC++との親和性が少し低いけど、gtkmmはC++用で問題ないということですね。
試してみます。
ありがとうございました!

308:login:Penguin
09/11/03 01:21:46 Vebc7itB
rubyでgtkプログラムをしたいんですけど、何かいい開発環境はないですか?
gladeとかでみためは作って変換できるのですが、中で実行するシグナル(っていうんですかね)がどういう感じで使えるかというのがわからないので
調べ調べになってしまいます。通常使ってるのはemacsとnetbeansです。これに似た、もしくはその上で動かせるものはありませんか?
補完とかできたらうれしいのですが。

309:login:Penguin
09/11/03 19:55:27 0PVkcWZ9
逆に「gladeとかでみためは作って変換できる」の部分を
詳しく教えてほしい。

310:login:Penguin
09/11/03 20:05:58 DNzdCjrE
gtk-builder-convertのことかな?

311:login:Penguin
09/11/03 22:30:31 1H0HUjWH
ruby-glade-create-template とかあったよな.

312:login:Penguin
09/11/04 08:03:24 03fE0NL7
クラスライブラリのリファレンス(英語)なら公式サイトでrbbrっていうサンプルアプリとして
置いてあるけど、そういうことじゃないのかな?

313:308
09/11/05 02:27:28 Cf0Et12U
>>309-311
311さんが言ってるみたいにruby-glade-create-templateで作ったgladeファイルを.rbに変換して
オブジェクトは作ったからメソッド書いて自分の思うような動きを作ってちょうだいな。みたいなところまではできます。
しかし、rbファイルを編集するときにrequire 'gtk2'をよんでいるのにemacsでもnetbeansでも補完してくれませんでした。

>>312
rbbrは使ってるOSにパッケージがあったのでそれを入れてみましたが。リファレンスを引けるようになりました!
リファレンスが引けると言うことは補完もできるのでは?と今悩んでいる状態です。

314:309
09/11/06 12:34:31 pFNFtZEf
>>310
>>311
>>313
サンクスです。ググったら
Ruby/Gtk2のチュートリアルに書いてあるね
規制でタイミング逸して返事書かなくてすまん

315:308
09/11/06 17:32:52 1VLamOE6
>>309さんはどんな感じでコードかいてますか?
リファレンス見ながらかいている感じですか?

316:login:Penguin
09/11/07 07:20:09 PbDi/n2M
>>302
亀レスながら俺も検討中なので...
GTK+はこれからやってみるので置いといて、

Qtはさすがに良くできてるけど、簡単なことをやろうとしても多くのクラスを
使わなければならず、また抽象的な概念みたいなもの(データモデルとか
データアイテム)とか出てきて、簡単に「サクッ」と作る感じではないので、
習得に時間が掛かりそう。「エキスパートのための高級品」のイメージ。
ウィジットの種類も豊富だし、一つのウィジットが多くの機能を持っているので
困ることはなさそう。

wxWidgwtsは確かにツールが豊富だけど、決定版と言えるものはイマイチ
ない気がする。wxDev-C++が導入簡単だけどデバッガーが環境や条件に
よって動作しないトラブル発生中。もう随分前に発覚したのになかなか
直らない。Delphiで書かれていて、近くC++に移植が予定されているようだ。
使えるのはCode::Blocksかな?

wxWidgwtsはQtよりは理解しやすいと思う。日本語の扱いは別に問題ないよ。
ウィジットの種類は豊富だけど、肝心なものがなかったり...
俺はスピンボタンつきの数値専用エディットボックスで、実数を
扱いたかったんだが、これが標準ではない。3rd Party製があるけど、
IDE/RADで、非標準のウィジットを簡単に取り込める仕組みを
持ったものがないので、結局手で書くしかなくて面倒。

Ultimate++は使い勝手が良くない。というかユーザーインターフェースの
設計が下手で、直感的に使えない。それと日本語の扱いに問題がある。
Windowsの話だけど、エンコーディングにCP932(SJIS)が選べないので、
utf-8にするしかない。それでもC++版Hello World!を「こんにちは 世界!」
にして実行したら文字化けしたので、カッとしてアンインストールして
しまった。

以上、ご参考まで。

317:login:Penguin
09/11/07 07:40:28 h9ilEYN9
Lazarus とか。 

318:login:Penguin
09/11/07 07:53:25 wJdSUuBx
gtkmmを薦めてるのがいるが真に受けんように
C++でまともに動いたら、scim-bridgeみたいなモノを作る羽目にはならん

319:login:Penguin
09/11/07 11:52:06 CPjNRklA
面白いのはわかるが、今更そんなんやったって・・・
激しくつまらんけど、これからはAIRですよ

320:login:Penguin
09/11/07 13:30:53 pZqg2eyF
いや、これからはJavaですよ
作ってて面白いしね


321:309
09/11/07 15:04:13 pqmmO2Ng
>>315
そうだね。
オンラインリファレンスを地味に検索しながら
emacsのruby-modeで書いてるよ。
methodsとかのメソッドで確認したりするぐらい。
emacsで構文解析してメンバ関数だのメソッドを補完する環境って無いんじゃないかな。
無作為に辞書から補完するのはあるかもしれんけど。
netbeansはよく知らない。
Ubuntuだと「追加と削除」からリRuby Browserというリファレンスビュワーが落とせるよね。
これはRuby/Gtk2のクラスも見られたと思う。

322:login:Penguin
09/11/07 19:56:24 nXIVDau4
型がなんでgintやgcharなの?
intやcharではダメなわけ?

C言語とのこういうちょっとした違いは
他にもいろいろあるの?


323:login:Penguin
09/11/07 20:43:43 P9pTNgo8
> 型がなんでgintやgcharなの?
移植しやすくする為の措置じゃなかったっけか

324:login:Penguin
09/11/07 21:04:17 nXIVDau4
「g」が付いてるほうが移植性が高いのかねぇ。

みんなはそういうのをどうやって覚えたの?
解説本とかあまり売ってないみたいだけど…。

325:login:Penguin
09/11/07 21:25:19 NL8bJnRF
>>nXIVDau4
たとえばlongが64bitの環境でも、glong的に32bitであってほしい場合にlongの代わりにintやint32をtypedefするとかな。
データ構造の隠ぺいとかはWeb上の先人の残した情報だったり、技術書立ち読みだったり、Win32やNSPRとか同じことやってる実例を見たりとかで知ったよ。

326:login:Penguin
09/11/07 22:58:20 FPX1oLqZ
>>324
C言語はintとかの定義に幅があるから
コンパイラが違えばintのサイズも異なったりするので
厳密に定義した独自のintを用意するわけですよ

先月出た本はどうでしょう
URLリンク(www.amazon.co.jp)

327:login:Penguin
09/11/07 23:54:07 Iq2jGS9i
gint32、とかにした方が判りやすいのに

328:login:Penguin
09/11/08 03:02:52 A1QtHV1W
>>325-326
なるほど、なんとなくわかった。
ありがと。チュ!

本は今度本屋で見てみる。


329:login:Penguin
09/11/08 22:19:03 A1QtHV1W
GTK+をこれからやろうと思ってますが、C++よりC言語のほうがいいんでしょうか?
昔CもC++も少しずつかじりましたが、どっちも中途半端に終わって、今は頭の中でゴッチャになってます。
GTK+を始めるこの機会にどちらかをちゃんと勉強するつもりですが、どっちがいいか迷ってます。

CよりC++のほうが言語として優れていたり、C++を覚えたほうが何か有利だったりするんですかねぇ?
gtkmmというのを使えばC++でもいけるんですよね?
何かアドバイスをもらえればうれしいです。

330:login:Penguin
09/11/08 22:48:08 iZONJSh7
>>329
有利かどうかでいえば、一山いくらのプログラマとしても仕事に付けるかという観点ではC++/Java/PHP/VBあたりだろうな。
有利不利なんぞを気にするんなら間違ってもWindowsかWebアプリ、携帯以外見向きもしないほうがいい。GTK+なんかもってのほかだ。

マジレスするなら、C++にあまり慣れてないならCでGTK+やるのがいい。
ついでにPythonあたりも齧っとけばC+GTK+で面倒な部分もこなせるし、Linux方面のプログラムを開発するのに不自由はしないだろう。

331:login:Penguin
09/11/08 23:24:58 3wmSljPh
>>329
Cはスーパーマクロアセンブラ、C++になって高級言語の仲間入りっつー感じかな。
ある程度規模の大きなプログラム作るんなら、絶対C++の方が有利。
Cははっきり言って時代遅れ。C++は習得しておいた方がいいよ。
組み込み系なんかだと、また話は変わってくると思うが。

GUIツールキットだって、殆どのものがC++を念頭に置いて作られてる。
Cが標準でC++ラッパーを後付けしたのはGTK+くらいなもの。
まぁ、それだけ歴史が古く、練り上げられてるとも言えると思うけど。

332:login:Penguin
09/11/09 00:10:55 xrkj026G
>>330-331
どうも!
「C++に慣れてないなら」っていうのはオブジェクト指向が壁になるかもしれないってことですかねぇ。
一応JavaやPHPもちょこちょこやってるので、理解はしてます。

お二人の意見を合わせると、C++のほうがいいけど、慣れてなかったり自信がなかったりする場合は
Cにしておくのが無難ってとこですね。

もうちょっと考えてみます。
とても参考になりましたー!


333:login:Penguin
09/11/09 00:31:21 GPAwpvGp
>>332
オブジェクト指向が壁になるからではないよ。ほぼ1からC++とGTK+(とgtkmmの固有事情)やるよりはCとGTK+のほうが楽かなとね。
一応gtkmm以外にもJavaとPHP向けのバインディングがあるから、Cでやるのが面倒なようならそれぞれJava-Gnome/PHP-GTKで調べてみるといい。

334:login:Penguin
09/11/09 01:09:23 GiNGaxO1
gtkmmの固有事情くわしく

これから始めようと思ってるんだけど
>>132, >>318とか見ると気になる

335:329
09/11/09 01:13:18 xrkj026G
>>333
Cのほうがやっぱ楽なんですか。
といいつつC++も捨てがたいけど、>>334さんと同じくgtkmmの固有事情が気になります。

JavaやPHPのやつも存在は知ってましたが、CかC++でアプリを作れるようになりたいなぁと思ってて…。

336:login:Penguin
09/11/09 01:49:16 9bGbNsmw
>>333, >>334

>>132, >>318の言ってることについては心当たりないが、GtkTreeIterだかのバインディングにメモリリークのバグがあるとかいうブログの記事を見たことがある。
固有事情とは言いすぎた。GObjectの仕組みに加えてC++のオブジェクトとの絡みで素のGTK+より覚えることが多くなるかなと思った故の発言だ。

>>334
C/C++ともほぼ未経験なら日本語ドキュメントや和書もある素のGTK+のほうが理解しやすいのではと思ってC+GTKを勧めたが、単純にGTK+のウイジェットを使ってウィンドウアプリケーションを作るならgtkmmのほうが楽なはずだ。
素のGTK+をCで使用する場合、頻繁に型キャストのマクロを使うし、新たなウィジェットを作成する際にはGObjectの動的型システムを素で使うことになるからその点面倒だ。
gtkmmであればその点いくらか楽ができる。だが、ほかの言語バインディングでも使えるウィジェットを作成するとなると素のGTK+の動的型システムの流儀も触れる必要があるから、C++の知識に加えてGObjectの仕組みも知る必要がでてくる。

Javaをある程度使えて、GObjectの動的型システムには触れずにウィンドウアプリケーションを作りたいということであれば改めてgtkmmのほうを

337:login:Penguin
09/11/09 09:55:18 H/aMIY+I
わざわざPerlで扱ってる変態もいるしな


338:login:Penguin
09/11/09 10:14:55 LeSNQMah
>>335
俺は Python でやってる。
C を使っている gtk+ プロジェクトだったら C で書く。
そんなに違いはないし、簡単。

Cだとヘッダーにいちいちプロトタイプ宣言しなければならなかったり
毎回コンパイルしなければならないのが面倒だからPython使ってる。
楽チン。

339:login:Penguin
09/11/09 15:19:07 dkYv1Xb9
>>337
ぇー最近perlでGTK触りはじめたけど、変態じゃないやい><

340:login:Penguin
09/11/09 15:40:43 nWvFWYHF
とにかく完成するのが目的なら自分の好きな言語でいいじゃん。おれはRubyだぜ。

341:login:Penguin
09/11/09 18:21:40 EMO5BJHN
GTK+はバインディングが多いのがいいよね

342:login:Penguin
09/11/16 16:13:58 VCRzBqJE
なんだかんだ言って、Cのコードは寿命が長いんだよね。
コストベーシスで考えると、GTK+の場合は全てCで書いた方が
いいと思う。他のメジャーなソフトはほとんどCだし、
インテグレーションもし易いよね。


343:login:Penguin
09/11/16 17:18:31 gFc8JNPu
Cは初心者向けの本を昔読んで、当時はなんだか難しいなぁって思ったけど、
GTK+に挑戦したくてもう一度読んでみたら大して難しくなかった。

配列、関数、ポインタ、構造体の使い方の基礎がわかってたらGTK+を扱える?
この程度の知識で始めるのはなんか怖くて・・・。

344:login:Penguin
09/11/16 17:21:51 VCRzBqJE
GTK+なら、型が決まっているから、
ほんとに基本的な知識だけで十分だと思う。
マクロやプリプロセッサもよく使われているけど、
非常にシンプルなコンセプトだし、問題ないとおもう。

345:login:Penguin
09/11/16 20:35:58 gFc8JNPu
>>344
どうも!
今年中に始めよーっと!!

346:login:Penguin
09/11/16 21:19:38 tJXAF2DJ
もう「今年中」とかいうセリフが聞かれる時期になったか。

347:犬山ぽち丸
09/11/19 00:11:09 CpUTPEU6
Perl でこんな感じのを書いてみました。
URLリンク(pochimaru.seesaa.net)

次ページ移動ボタンをクリックする事で次ページを表示したいのですが、
このままでは期待するように動きません。
現時点の表示をクリアして次ページを表示するにはどうしたらいいのでしょうか?


348:login:Penguin
09/11/19 05:10:52 kHCd9OdN
# perlって聞いた時点で見る気なくした

349:login:Penguin
09/11/20 14:06:49 TNyOV+9k
DrawingAreaをAspectFrameで包むと上下左右に、
GNOMEでは1ピクセル、
Fluxboxでは2ピクセル隙間が開くんだが、なんとかならないものか

350:349
09/11/20 14:52:09 TNyOV+9k
set_border_width(0)でもだめだった

python-gtk2 2.16.0
python-glade2 2.16.0
gtk 2.18

351:login:Penguin
09/11/21 12:33:26 cf2l5sy0
gtk2.18.3をubuntu9.10でやっているんですが
キーを押し続けている状態を知る事はできないんでしょうか?
今はkey-press-eventとkey-release-eventシグナルを使っているんですが
キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて
押し続けている状態を知る事ができません。

352:login:Penguin
09/11/21 15:35:08 zEcsEEOn
key-pressのあとにkey-releaseがなければ押し続けていることになる

353:login:Penguin
09/11/22 01:06:56 EckaNW4z
>キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて
押しつづけているのにrelease-eventがくるとかキーボードぶっこわれてるんじゃね

354:login:Penguin
09/11/22 08:57:13 OlBHF5u9
>>351
Xのレベルではそれが通常の動作(モディファイアキー(の一部)以外では)。
Xはautorepeat時にKeyReleaseと続くKeyPressでタイムスタンプを同一にして
送ってくるので、GDKはそれを利用して>>352のように見せるコードが
一応入ってはいる、が、環境や同時に利用するプログラムといった条件によっては
それが働かないみたい。
自分の環境だけ考えるならGDKの該当部分に手を入れて常にその動作をするように
してしまうのが簡単。そうでないならやはり同様に次のイベント
(gdk_event_peekで得るのかな)とそのタイムスタンプを見て判断するんじゃないかと。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch