◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

GTK+プログラミング->画像>7枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/linux/1188968326/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

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

-前スレ-
http://pc11.2ch.net/test/read.cgi/linux/995808691/

-関連サイト-

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

関連スレ
Gtkプログラミング on Windows!!!
http://pc11.2ch.net/test/read.cgi/tech/1147024203/
5login:Penguin
2007/09/05(水) 22:56:25ID: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ファイルが開けないので注意。
6login:Penguin
2007/09/05(水) 23:18:58ID:6zMwszt6
>>5
使えるな~と思ったら、gladeの開発版を使っているのですね。
情報Tnx

GNOME-2.20でanjutaが入らないみたいなので残念です。
7login:Penguin
2007/09/06(木) 00:50:05ID:O0ecg2ks
まあまだ使いにくい所もあるしね。個人的にはもうちょっとScintillaベースの
エディタのフォント設定をもうちょっと楽にしてもらいたかったり。
後GtkBuilderに早い所対応してくれないかな。まあこれはGlade待ちなんだけど。
8login:Penguin
2007/09/06(木) 19:24:35ID: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です。
9login:Penguin
2007/09/06(木) 19:44:27ID:EzCswhTZ
コンパイルオプションに
`gtk+-2.4 pkg-config --cflags --libs`
付け加える
10login:Penguin
2007/09/06(木) 22:14:16ID:jVEAROlh
>>9
ありがとうございます。
gcc hoge.c `pkg-config --cflags --libs gtk+-2.0` でいけました!
--libsのはpkg-config --list-all の中から選べばいいんですね。凄い。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所で、gtk-docで作る文書の国際化って結構めんどいね。
html2poと自作スクリプトで頑張ってみようかなって思ってるけど、
なかなかスマートにいかないや。
52login:Penguin
2008/03/25(火) 22:04:32ID:Mm1m5DLO
>>51
う~ん、それなんかなかったかなぁ?どっかでみたような。すまん思い出せん。
53login:Penguin
2008/04/29(火) 19:11:04ID:26XTARAt
こんにちは
質問があります、gtkを使ったプログラミングをしたいのですが
コンパイルがうまくいきません
Vine Linuxを使っています。
% rpm -qa | grep gtk+
gtk+-1.2.10-0vl6
となっていますが
% gtk-config
gtk-config: コマンドが見つかりません.
となってしまいます、なぜでしょうか?
54login:Penguin
2008/04/29(火) 19:17:39ID:cCcJpKWp
vineってgtk1しか入ってないの?
deb系はよく知らないけどdevelみたいなのが必要なのかね。
55login:Penguin
2008/04/30(水) 12:15:31ID:tQtvI8CE
Vine が deb 系!?
56login:Penguin
2008/05/30(金) 13:13:29ID: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みたいな感じの…。
5756
2008/05/30(金) 13:16:35ID:kzcW1sj3
って日付見たらひと月前の質問か…
てっきり昨日質問したのかと…
58login:Penguin
2008/05/30(金) 14:22:37ID: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秒置きに画像が表示されません。
強制的に再描画させる方法などありましたら教えてください。
お願いします。
59login:Penguin
2008/05/30(金) 14:43:11ID:GKY/CzaG
while (gtk_events_pending()) gtk_main_iteration();
を挟むとか。

g_timeout_addを使う方法もあるね。
60login:Penguin
2008/05/30(金) 15:17:07ID:ann5FY58
ありがとうございます。
while (gtk_events_pending()) gtk_main_iteration();
でうまく動きました。
助かりました。
61login:Penguin
2008/06/01(日) 12:51:26ID:Qfk/evfC
質問ばかりですみません。
スタートをクリックしたらマウスカーソルを10秒間消したいと思っています。
カーソルを透明にしてやればいいと思うのですが、
よくわかりません。
よい方法がありましたら教えてください。
62login:Penguin
2008/06/01(日) 14:26:49ID: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()
63login:Penguin
2008/06/01(日) 14:46:30ID: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()
64login:Penguin
2008/06/01(日) 15:01:10ID: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とでてしまって消えない状態です。
65login:Penguin
2008/06/01(日) 15:32:14ID:vBepI6CX
試してみたらそれでうまく動くようだが。
gdk_window_set_cursor() の呼び出しはちゃんとしてる?
66login:Penguin
2008/06/01(日) 15:36:53ID: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
と出ているので呼び出しでエラーになっていると思います。
67login:Penguin
2008/06/01(日) 15:41:29ID: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;
}
68login:Penguin
2008/06/01(日) 15:45:23ID:vBepI6CX
gtk_widget_realize() 前の widget->window を触ろうとしてるのが原因かな?
69login:Penguin
2008/06/01(日) 16:04:31ID:wQKPJ8Cz
古いバージョンGtkを使ってたりしない?昔そういうのでハマったおぼえがある
70login:Penguin
2008/06/01(日) 16:10:28ID:Qfk/evfC
67のようにしたらエラーはでませんけど、カーソルは透明になりません。

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

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

gtk-config --version をしたら1.2.10とでてきました。
71login:Penguin
2008/06/01(日) 16:17:00ID: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();

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

どっかの大学の先生が書いたPDFが参考になるかもしれません。
http://www.iim.ics.tut.ac.jp/~sugaya/books/GUI-ApplicationProgramming/

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

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

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

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

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

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

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

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

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

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

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

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

最大化できるサイズを求めるというのではなくて、あくまでアプリ側で必要な
サイズ(GtkRequisition)と、実際に獲得できたサイズ(GtkAllocation)
で実装するのはいかかでしょうか?
100login:Penguin
2008/10/21(火) 02:53:13ID:5A1QOuH6
>>98
> まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
> 誤解しているかも知れませんが。

どう考えてもこれがガンだろ。呆れた。
10190
2008/10/21(火) 23:21:31ID:rjo5j4+k
>>99
色々、考えて下さり、ありがとうございます。

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

皆さんに教えて頂いたことをヒントに、時間が取れるときに
もっと勉強しようと思います。
レスをしてくれた方々、ありがとうございました。
102login:Penguin
2008/10/22(水) 01:14:52ID:1Hw6zT+4
複数のファイルをユーザーに選択させ、そのファイルのパスをリストなり
配列なりで得たいと考えています。

調べてみたところ GtkFileChooserDialog は単一ファイル|ディレクトリ
にしか対応していないようなのですが、上記のような機能は自前で実装す
るしかないのでしょうか。
103login:Penguin
2008/10/22(水) 01:40:40ID:TbaNGOlU
>>102
gtk_file_chooser_set_select_multiple()
gtk_file_chooser_get_filenames()
の組み合わせじゃ駄目なのかい?
104login:Penguin
2008/10/22(水) 10:25:49ID:ApulL45s
>>103
ありがとうございます。完璧に私の調査不足でした。
教えていただいた方法でいけそうです。

105login:Penguin
2008/10/25(土) 10:14:11ID:dTl3thQm
glade3の最新版にしたらいつの間にかGtkBuilder形式でも出力できるようになってたよ。
さすがにウィンドウ別に分けて出力はしてくれないけど。
106login:Penguin
2008/10/25(土) 15:02:49ID:AakIN1gI
PyGTKでランチャー作ってます
ホットキーから呼び出すにはどうすれば
やはりgconf弄らないと無理なのでしょうか。
107login:Penguin
2008/10/25(土) 17:13:44ID:zQTl7fNi
どのウィンドウがフォーカスされている状態でもキー操作で呼び出したいってこと?
そりゃXならウィンドウマネージャの仕事だ。
108login:Penguin
2008/10/25(土) 17:58:26ID:AakIN1gI
>>107
そうです
どんな操作してるときもホットキーから呼び出したいので
PyGTK以外の言語は全く解らんのですがXLibあたりですかね
これさえ備えられればほぼ完成なんです
ありがとうございました。もう少し調べてみます
109login:Penguin
2008/10/25(土) 18:06:09ID:e1TliF6D
>>108
それ俺も知りたい。分かったら教えてくれ。
110login:Penguin
2008/10/25(土) 18:20:20ID:zQTl7fNi
>>108
ウィンドウマネージャにショートカットで任意のプログラムを呼び出すような
親切機能がついていればできる、なければ基本的にできない。
111login:Penguin
2008/10/25(土) 21:12:08ID: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()
112login:Penguin
2008/10/26(日) 00:16:49ID:cuuCZE3q
>>109-110
自分が得た情報はもちろん共有しますよ
ウインドウマネージャってubuntuだとcompizでしたっけ?
WindowsだとpyHookなんてのがあって楽そうなんですが
>>111
走らせてみました
小さなウインドウは出ましたが、こちらではキーに反応しません
a, <shift>a, <ctrl>aはダメでした。他のキーですか?

個人的にはこの辺が怪しいと思っていたのですが
http://faq.pygtk.org/index.py?req=show&file=faq23.009.htp
http://manpages.ubuntu.com/manpages/feisty/ja/man3/XGrabButton.html
http://xjman.dsl.gr.jp/X11R6/X11/CH12.html

PyGTKって日本語のドキュメントが少ないと思っていたけど
それ以前にドキュメントの絶対数が少ない気がしてきた
113login:Penguin
2008/10/26(日) 00:20:34ID:dWWl1VvV
>112
xbindkeysのソースが参考になるかもね。
でもgdkとgtkだけで済ませたい気もする。
114login:Penguin
2008/10/26(日) 01:05:43ID:w1SELDT+
>>112
<shift><ctrl>aです
115login:Penguin
2008/10/26(日) 02:08:20ID:cuuCZE3q
>>113
これCですか?現時点では意味不明でした。
やはり最低でも2言語くらい習得しないと細かい所が弄れませんね。
>>114
それも試してみましたが何故が無反応でした。
さらに一週間くらい調べてみます。
116login:Penguin
2008/10/27(月) 22:08:10ID:hjSX5CJk
glade3といえば日本語メッセージの翻訳が迷訳てんこもりで参った記憶しかないぞ。
ありゃGTK+プログラミングろくに理解してない奴が訳してるんだろうなあ。
117login:Penguin
2008/11/02(日) 17:56:33ID:8LwLmm0R
出版界を見ると、GTK+よりもQtの方が元気があるように見えるんだけど、
ユーザ数ではどうなんだろう。日本でも最近出てる本はQtのだよね。
118login:Penguin
2008/11/02(日) 18:07:31ID:f8W85vrO
出版ではQtだが、実際にはgtkのほうが人気がある。
ユーザ数でもおそらくgtkのほうが多い。
なぜQtの本のうほうが多いのかは謎。

gtkの本ってなんであんなに少ないんだろうか。
119login:Penguin
2008/11/03(月) 12:00:13ID:zVTwcnmi
一つの指標として
gnome vs kde
http://www.google.co.jp/trends?q=GNOME%2CKDE&ctab=0&geo=all&date=all&sort=0
gtk vs qt
http://www.google.co.jp/trends?q=gtk%2Cqt&ctab=0&geo=all&date=all&sort=0
ちなみにノルウェーではgnomeの人気が高いw
120login:Penguin
2008/11/03(月) 12:19:36ID:f8RoxdRr
ネット上のドキュメントが充実してるからとか? 洋書も最近のはQtの
が多いよね。

日本GNOMEユーザー会とKDE ホームページ(日本KDEユーザ会)の
サイトを比べてみると、一見KDEの方が勢いがあるように見えるけど、
リンクのメンテがボロボロだな。
121login:Penguin
2008/11/03(月) 12:24:19ID:f8RoxdRr
>>119
なんかKDE/Qtのが優勢な感じw
122login:Penguin
2008/11/03(月) 13:56:17ID:7ydUuqhV
>>119
一部Quicktimeだったりしないか?
http://www.sophia-it.com/content/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BF%E3%82%A4%E3%83%A0
123login:Penguin
2008/11/03(月) 22:01:57ID:57+pbs2m
Ubuntu人気があるからgnomeのほうがユーザ多そうだけどな、実際どうなんだろな。
あと他言語のバインディングではgtkのほうが優勢な気がするんだがどうなんだろ。
QtHaskellとか使ってる人いる?俺はgtk2hs使ったけど使い物にならなかったよwww必要関数無くてwwww。
124login:Penguin
2008/11/03(月) 22:39:37ID:iQkJfTcr
Ubuntu, Fedora, Debian, Vine(笑)とか標準ではたいがいgnomeだからね。
やっぱシェア(数)はやっぱgnomeが多いんじゃないの?

KDEはOpenSUSE, Mandriva(turbo)とか。
まぁ前出のgnomeトリはたいがいKDEの派生つーかブランチもあるし
入れ替えたって(共存させたって)いいんだけどね。
125119
2008/11/03(月) 23:02:36ID:zVTwcnmi
>>122
一部ノーム(地名)だったりもするぜ
126login:Penguin
2008/11/03(月) 23:40:33ID:CkL33X1G
ユーザーはともかく、クリエータはGTK(GNOME)の方が多いだろう
GTKがLGPLなのに対して、QtはGPLか最近のtool kit としては高額の
有償ライセンスかのいずれか
利用できる人間は、どうしても限られてくる
127login:Penguin
2008/12/17(水) 15:27:32ID:KRTiKwTi
欲しいソフトがないから自分で作ろうと思う。
だが、どの言語もソースは読める程度、簡単な改造が出来る程度のレベルです。
だが、一からあのソフトを作りたい・・・。

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

ほか、初心者におすすめのGTK開発環境がありましたら教えて下さい。
128login:Penguin
2008/12/17(水) 18:01:23ID:lMmUsPdE
まあそのへんより簡単なのは無さそうだよね。自分はRubyが好きなので
Rubyで勉強してるけど。
129vte
2008/12/17(水) 19:59:56ID:4+kAQRIa
vte-0.17.4 を ./configure && make && make install してみたのだけど, 画面端で漢字入力を始めると, 折り返しも延長もしてくれず, 入力文字が見えなくなる.

|                              ▽かんじに|

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

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

とか. gtk-demo の text-widget の multiple views などはうまくいってます. .gtkrc-2.0 とかに何か設定が必要でしょうか?
130login:Penguin
2008/12/22(月) 09:25:07ID:Z0zqkFax
>>127
GTKmm
131login:Penguin
2008/12/23(火) 19:56:34ID:3l8ZCr+m
ところでpygtkって遅くね?
Core2Duoのマシンでボタンクリックしてからレスポンスが10秒後とかザラなんだが。
gtkmmとか生のgtkのほうがいいんじゃね?
132login:Penguin
2008/12/23(火) 20:16:59ID:LQjeTU8C
gtkmmは地獄。
133login:Penguin
2008/12/23(火) 21:14:13ID:2F34Up+Q
レスポンスが10秒後ってなんか間違えてるんじゃ
134login:Penguin
2008/12/23(火) 21:25:44ID:ae4qT9Yd
PyGTK + glade3 の日本語チュートリアルのようなものありませんか?
この辺りが翻訳されているのですが、glade3では動きませんでした・・。

http://po3a.blogspot.com/2006/08/pygtk-glade-gui.html
http://po3a.blogspot.com/2006/08/pygtk-glade.html

Rubyで勉強したほうが情報多い?
135134
2008/12/23(火) 21:34:16ID:ae4qT9Yd
こちらのサンプルは PyGTK + glade3 動きました。
http://palepoli.skr.jp/content/python/window1.php

でもここから先が進めません。
PyGTK + glade3 で勉強になるサイトがあったら教えて下さい。
英語でもいいです。宜しくお願いします。
136login:Penguin
2008/12/24(水) 06:59:19ID:aQCa49jr
pygtkのことは知らないんでよくわからないけど、これとかは?
http://www.micahcarrick.com/12-24-2007/gtk-glade-tutorial-part-1.html
これでだめなら、ウェブ全体からググれ。

ちなみにruby用の日本語チュートリアルはglade2使用。
http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?libglade2-tut
137134
2008/12/24(水) 09:50:41ID:hiOOXDc5
>>136
ありがとうございます。
参考になりました。
138login:Penguin
2008/12/24(水) 11:47:11ID:j0KWvBZ+
C++/GTKで書いたプログラムを
wxPythonで書き直したら
wxPythonで作った方がサクサク速く動いた orz
139login:Penguin
2008/12/24(水) 14:47:02ID:gkyqeyAR
windows上か?
140login:Penguin
2008/12/24(水) 15:36:14ID:EbVd5uRZ
PHP-GTKってどうよ?
141login:Penguin
2008/12/26(金) 04:24:16ID:0/dGPTTl
そんなのあるのか。今度試してみよう。
142login:Penguin
2008/12/26(金) 23:23:17ID:Z/96o+8l
いまさらかもしれないが時代は今CAIROだということに気づいた

http://journal.mycom.co.jp/series/firefox/005/

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

CAIRO使えるのはGTK+2.10から上のver
誰か使ってる人いる?
143login:Penguin
2008/12/27(土) 00:05:03ID:7rBKxqYP
時代を読み違えてるな。
ベクトルベースとか3DデスクトップとかVistaとともに沈んだよ。
PC肥大化狂騒曲は終わりだ。Qt4も総スカンだし
144login:Penguin
2008/12/27(土) 06:06:34ID:B/jsjdnT
いやでも実際有名どころで使われてるわけだし

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

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

gtkがcairoをサポートしてまだ日も浅いしむしろ今からが勝負
145login:Penguin
2008/12/27(土) 12:41:23ID:6Qaozst9
ふつーに使ってる。フォントの取り扱いがプラットフォーム中立にできればなおいいのだが。
146login:Penguin
2008/12/27(土) 13:12:28ID:IS4Ugvd/
Cairo のフォント描画は Windows 上だとジャギが目立つ。Linux 上では問題無し。
何か設定がいるのかしら。
147login:Penguin
2008/12/27(土) 20:23:11ID:B/jsjdnT
普通ベクトル・グラフィクスにジャギーは発生しない

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

>>146
普通にcairoをコンパイルすると、Windowsではcairo-win32-font.cが使われる
これは普通にGDIを用いているので、普通のWindowsアプリのフォントの
レンダリングと全く同じ結果になる
一方LinuxではFreeTypeが使われる
149login:Penguin
2008/12/27(土) 21:26:06ID:mPWXe8Aq
a
150login:Penguin
2008/12/27(土) 22:20:00ID:B/jsjdnT
>>148
firefox2とfirefox3の速度比較は
確証を裏づけるものにはならないか?

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


ところでskiaて何?
151login:Penguin
2008/12/28(日) 10:40:10ID:xJesvUS3
mexo
hanaxo
152login:Penguin
2008/12/28(日) 11:37:59ID:5NoVhFnO
>>145-146
フォント描画にはPangoを使えばいいんじゃないの?
153login:Penguin
2008/12/29(月) 18:19:47ID:qsmFI5vI
>>150
http://www.hyuki.com/yukiwiki/wiki.cgi?VectorDrawing

skiaは
google chrome skia
あたりでぐぐれ
154login:Penguin
2008/12/29(月) 22:41:52ID:mdZmAujL
>>153
これはハードウェア実装のOpenGLによるベクタ描画と
ソフトウェア実装のcairoによるベクタ描画の実験結果だな...

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

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

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

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

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

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

個人的にちょっと試した限りでは、少なくともWindowsで普通にコンパイルした
cairoは、遅いといわれるGDI+よりもまだ遅いぐらいだ
同種の競合ソフトのaggと比べても、やはり遅いな
156login:Penguin
2008/12/30(火) 02:24:04ID:chmi7ht1
cairoの下のレイヤって何?
cairoはGTK+/GDKやXlibの上にはない
そもそもpixmapのようなラスタデータ上にベクタデータを
ラスタライズしても綺麗な結果にはならない


Vistaが重い一番の理由はVistaのコアが4Gとかのせいじゃなかったか?
157login:Penguin
2008/12/30(火) 03:17:23ID:xp1VmVKW
>>156
> cairoの下のレイヤって何?
> cairoはGTK+/GDKやXlibの上にはない

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

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

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

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

てか、cairoの中身でも描画なんかは一切触れずに、cairo_surface_tで共通化とでしか使ってないと思うんだけどどう?
159login:Penguin
2009/01/04(日) 04:31:10ID:OlEL3WLc
待てばcairoの日和あり
160login:Penguin
2009/01/04(日) 09:09:03ID:Ls6s3Y+a
で?
161login:Penguin
2009/01/08(木) 14:49:56ID:25IYEPJi
初めて拝見するが、
ここの良スレ度にびっくりした。
162login:Penguin
2009/01/11(日) 10:45:28ID:G50GhRZF
「右」キーにアクションをバインドしたいんですが、どうすればできますか?
今は仕方なく
gtk_widget_add_accelerator (foo, "activate", accel_group,
GDK_Right, GDK_MODIFIER_MASK,
GTK_ACCEL_VISIBLE);
のようにしてますが、実際は GDK_MODIFIER_MASK 無しで「右」キーのみ
で作用するようにしたいんです。
163login:Penguin
2009/01/12(月) 22:30:23ID:Ap11sUPz
ところでさ、なんでGtkTreeViewColumnに
gtk_tree_view_column_get_widthはあるのにgtk_tree_view_column_set_widthはないの?
なんでカラムの幅を非常にまわりくどい方法でセットする事しかできないんだろう。
164login:Penguin
2009/01/13(火) 21:49:47ID:4aexh9M5
バカ除けのため
165login:Penguin
2009/01/14(水) 06:35:18ID:ON4hZt79
>>164
なにそれww
166login:Penguin
2009/01/14(水) 10:40:30ID:hbYm8nJe
>>163
他のコラムに対する影響を考えないといけないからでないの? 推測だけど
167login:Penguin
2009/01/19(月) 07:00:18ID:Zkvelgln
どうすればtoolbarを縦に位置させることができますか?
168login:Penguin
2009/01/19(月) 14:58:09ID:rA2FfI0+
ディスプレーをガタンとですね
169login:Penguin
2009/01/19(月) 15:05:50ID:Zkvelgln
>>168
???
170login:Penguin
2009/01/20(火) 05:28:26ID:N3/xwV6v
>>167
D&D
171login:Penguin
2009/01/20(火) 07:38:29ID:eUZx4J2+
>>168
ワロタ
172167
2009/01/21(水) 13:15:59ID:cRTwudVb
>>168
真面目に答えていただけませんか?

>>170
詳しく教えてください。
173login:Penguin
2009/01/21(水) 16:47:39ID:oi/rQuGm
>>172
自分は真面目に調べたのか?
174login:Penguin
2009/01/21(水) 22:48:05ID:zay9Vio9
>>167
まず言語は何でプログラミングしてるの?
個人的には盛り上がって欲しいスレではあるのだけれど。
CでガリガリGTKアプリ書いてる人あんまりいないのかな…
175167
2009/01/22(木) 01:25:28ID:qMqmINP5
>>174
C でやってます。
176login:Penguin
2009/01/22(木) 02:12:53ID:N/oI0lI0
>>175
set_orientationでvertical指定
詳しくはググれ

177login:Penguin
2009/01/23(金) 07:41:44ID:Azeyn9TC
Objective-C使ってます
178167
2009/01/23(金) 13:07:07ID:AEZO7GNu
toolbar を縦(vertical)に配置することには成功したのですが、
menubar を縦(vertical)に配置する方法が見つかりません。

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

どうすればできるでしょうか?
179login:Penguin
2009/01/24(土) 17:41:53ID:j3OrWlaN
linuxデスクトップユーザーの特徴

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

       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    __________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ───‐ヽ /  /  linuxはめんどくさくて難しい分だけ、
     /|ヽ   ヽ──'   / <  自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
180167
2009/02/01(日) 07:28:50ID:lE4ur93H
お前等、なにも知らないんですね。
181login:Penguin
2009/02/02(月) 10:47:56ID:IIH5qxfd
もともと閲覧者が少ないスレで
自分の欲しいタイミングで回答を得ようとしてるのが間違い

半年位待ってみろ
182login:Penguin
2009/02/02(月) 11:13:18ID:6BkR0lwx
>>181
では、LinuxでGUIを作るにはどのライブラリを使うのでしょう?
183login:Penguin
2009/02/02(月) 11:41:10ID:J5ctVuxx
* 女でLinux使ってる奴 -- http://pc11.2ch.net/test/read.cgi/linux/1224332593/355
355: login:Penguin [] 2009/01/19(月) 12:20:24 ID:Zkvelgln

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


* Gnome vs KDE -- http://pc11.2ch.net/test/read.cgi/linux/1185851003/136
136: login:Penguin [] 2009/02/01(日) 11:19:51 ID:lE4ur93H

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


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

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


* 女でLinux使ってる奴 -- http://pc11.2ch.net/test/read.cgi/linux/1224332593/415
415: login:Penguin [sage] 2009/02/01(日) 11:05:18 ID:lE4ur93H
>>413
○ tex = テック
× tex = テフ
184167
2009/02/02(月) 13:03:00ID:9NCOwk9m
>>183
変な事言ってるように仕向けたいんだろうけど、
lE4ur93Hは正当な事言ってんじゃん。
185login:Penguin
2009/02/02(月) 20:46:11ID:2frQG7fR
ただの荒らしコピペに反応すんなよ
NG登録されて回答もらえなくても知らんぜ
186login:Penguin
2009/02/10(火) 20:32:40ID:8DV6Um/n
ファイル選択ダイアログを、ターミナルから閉じたくて、
下の処理を入れたのですが、ダイアログを閉じた後、応答が無くなります。
(GUIでキャンセルボタンや×をクリックすると正常に閉じれる)
どうすれば、ターミナルから正しく閉じれるかを教えてください。

GtkWidget *filew = NULL;
void FileSelection::destroyFileSelection()
{
  status = false;
  gtk_widget_destroy(filew);
}
187login:Penguin
2009/03/29(日) 11:33:55ID:JOkFFCq+
Windowsでは、自分以外のプロセスが管理しているウィンドウのハンドル(動作中のOS上で
ユニークな識別番号)を得ることができれば、そのウィンドウのサイズやデスクトップ上での
位置などを好きにいじくったりできるのですが、LinuxのGTK+(またはGNOMEもしくはX Window
System)にそのようなAPIのようなものはありますか?
188187
2009/03/29(日) 11:38:55ID:JOkFFCq+
すみません、ageさせてください。

なにがやりたいかと言うと、特定の文字列をウィンドウタイトルに含むトップレベルの
ウィンドウに対して、デスクトップ上での表示位置やサイズを変更したりといったことです。
189187
2009/03/29(日) 20:36:19ID:JOkFFCq+
自己レス

libwnckてのが関係ありそうだが、Rubyから使えるんだろうか。Pythonにはそのための
モジュールが既にあるみたいなんだけど。今Ubuntu起動できないからよくわからん。
190login:Penguin
2009/03/29(日) 21:12:45ID:Afl3tAxS
>>187
wmctrl コマンドのソースでもみればいいんじゃね?
191187
2009/03/30(月) 10:56:06ID:+ewzli1b
レスありがとうございます。こんなコマンドがあったんですね。自分の目的にはこれを
利用するだけで十分そうですが、ソース読むのも勉強になって面白そうですね。

結果的にスレ違いになってしまってすみません。
192login:Penguin
2009/04/23(木) 11:32:24ID:rK6Swnpx
だれか clispからgtkを使う方法を教えてください
193login:Penguin
2009/07/10(金) 07:43:15ID:jUacI/UD
VMwareがGtk産だったとは
194login:Penguin
2009/07/17(金) 23:36:58ID:hHQTz6KG
本気で聞く
おまえらはどうやってGTK+勉強なさいましたか?
195login:Penguin
2009/07/18(土) 13:41:00ID:MyXAq5ze
>>194
GTK+ソース付属のexamples+demosを動かして遊ぶ

GTK+ソース付属のtutorialを一通りこなす web: http://library.gnome.org/devel/gtk-tutorial/stable/

doc/reference読み方を覚える

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

irc.freenode.netの#gtk+とかメーリングリストで質問
196login:Penguin
2009/07/18(土) 15:41:41ID:0IAjxnq5
難しそうですね
断念しました

ありがとうございませんでした
197login:Penguin
2009/07/18(土) 18:31:08ID:NxC2oWbI
何をどう見たら難しそうなんだよ?
ゆとりか?
英語にびびるな!

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

WindowsでもLinuxでもCode::Blocks使えばそれほど
コンパイルできる開発環境の準備には手間取らない
198login:Penguin
2009/07/18(土) 19:30:03ID:+ryPUP7D
ママが一から十まで教えてくれなきゃイヤなんじゃね
199login:Penguin
2009/07/18(土) 20:00:15ID:ghQ1gSty
pygtkがいちばんやさしくてにょろにょろ
200login:Penguin
2009/07/18(土) 20:39:03ID:0IAjxnq5
>>197
そうですね
サンプルソースをコピーして勉強したことにしようと思います

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

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

>>195
俺、本気になります!真面目に勉強します!
ありがとうございました!!
201login:Penguin
2009/07/19(日) 01:03:57ID:vKaqQMs4
携帯とか組みこみでGTK+を使っているものって何かある?
海外では結構あるみたいだけど、日本だと聞かないよな。
202login:Penguin
2009/07/24(金) 16:52:07ID:99ViSCNs
>>201
書いてないだろ常考
203login:Penguin
2009/07/24(金) 17:15:55ID:aH4gErtS
>>202は日本語に不自由な方?
204login:Penguin
2009/07/24(金) 17:48:23ID:99ViSCNs
うん
205login:Penguin
2009/07/24(金) 23:12:42ID:6YmCBCzn
GTKはもう少しで消滅する
googleの新しいソリューションに置換される
206login:Penguin
2009/07/25(土) 04:36:37ID:00SH8Kn9
Chrome OS の事か?
確かにウィンドウシステムは時前のものを用意するらしいけど、
どうなんだろうね。そもそもソースが公開されるかどうかも怪しい。
それに、GTK+の培ってきた年月を一気に越えられるとも思えないし。
207login:Penguin
2009/07/25(土) 05:18:20ID:corW1o/2
グーグルは基本Qtじゃないの。
でも今更ブラウザの下の層なんか関係ないはず。
HTML5 でアクティブデスクトップっていう懐かしいお話をもう一度やるんでしょ
208login:Penguin
2009/07/25(土) 06:22:09ID:00SH8Kn9
まぁ、googleはWEBアプリが基本だから、そうなるのかね。
ただ、この事前の大袈裟なプロパガンダはMSに似てるなw
209login:Penguin
2009/07/25(土) 09:19:09ID:wdRQEHVW
GTKスレはあるのにQTスレがないのはなんでだろう~
210login:Penguin
2009/07/25(土) 10:58:46ID:QoKls/xb
>>209
ム板にあるからじゃないか?
211login:Penguin
2009/07/25(土) 11:39:56ID:IOPwPp1+
>>209
http://pc12.2ch.net/test/read.cgi/tech/1239996587/

どっちかと言うとQtの方が活発
212login:Penguin
2009/08/23(日) 00:41:14ID: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  
213login:Penguin
2009/08/23(日) 01:17:03ID:oYmg5B0H
Xを使わずにフレームバッファを使うGTK+とやらはインストールしてあんの?
214212
2009/08/23(日) 02:02:51ID:cXbPjTOU
debian上からaptitudeでlibgtk2.0とlibgtk2.0-dev関連のライブラリをインストールしてあります。
215login:Penguin
2009/08/23(日) 06:49:16ID:Do4KpMOi
Xを使わないと動かんよ。
Gtk+はXLibの面倒臭さを軽減するためのライブラリに過ぎんのだから。
Windowsに移植する場合にもXLib相当のが要る
216login:Penguin
2009/08/23(日) 09:20:44ID:WBxszhFm
>>214
それはX用のパッケージ。
フレームバッファ用のGTKはlibgtk-directfb-2.0-*だぞ。

>>215
知ったか乙
217212
2009/08/23(日) 10:44:26ID:cXbPjTOU
>>216
そうなんですか!

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

ご教示いただいたライブラリをインストールして確認してみます。
218login:Penguin
2009/08/29(土) 19:05:24ID:7RbftsXX
libgrade+gtkmmをいじって遊んでいるのだけど
メインウィンドウからダイアログのようなウィンドウを開く
サンプルは何処かに有りませんでしょうか
219login:Penguin
2009/08/29(土) 21:56:36ID:OBRUPUZc
>>218
gtkmm-demo を起動してみては?
結構いろんなサンプルがあるな > gtk-demo pygtk-demo gtkmm-demo
220login:Penguin
2009/08/30(日) 01:00:57ID:XE+apBqt
>>219
libgladeを使っていない様です。
221名無しさん@そうだ選挙に行こう
2009/08/30(日) 08:33:18ID:Czh9S0PJ
>>220
libgladeは使われなくなる方向だから、、、って思ったけど、
gtkmmだとBuilderを使ったサンプルが無いな。。。
おそらく、以下はチェックされていると思うけど、
http://gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/chapter-libglademm.html
複数のwidget idを使っているサンプルは無いですね。。。
Gnome::Glade::Xml::create()して、get_widget()して、
signal処理してrun()する流れは同じだと思うけど、
丁度良いサンプルは見つからないな。。。
222名無しさん@そうだ選挙に行こう
2009/08/30(日) 08:51:11ID:IHJ1WvuS
>>221
有難うございます。小汚い書き方で何とか表示だけはするようになりました(いろいろ問題が有るけど)
綺麗に書いてあるサンプルなど見ればもう少しましになるかと思ってたのです。
libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
今は何を使う方向なんでしょうか?
223名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:37:24ID:Czh9S0PJ
>>222
> libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
> 今は何を使う方向なんでしょうか?
Glade 3.6.7のglade-3を起動したら、プロジェクトのオプションってダイアログが開く。
そこには、プロジェクトのファイル形式でGtkBuilderとLibgladeを選択できる。
今後は、GtkBuilderがデフォルトになって、ファイル接尾子が.uiになる。

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

http://live.gnome.org/TwoPointTwentyseven/Platform
のUpcoming Deprecationsで非推奨になっているものは、消えゆく運命。
224名無しさん@そうだ選挙に行こう
2009/08/30(日) 11:08:36ID:IHJ1WvuS
>>223
Debianのlennyを使っているのでAnjuta 2.4.2、Glade 3.4.5です・・・
GtkBuilderのサンプル探しの旅に出たいと思います。有り難うございます
225login:Penguin
2009/08/31(月) 02:59:20ID:WV5KE7UC
glade も GtkBUilder もほとんど同じだから、リファレンスを見ながらで
書けると思うけど。
226login:Penguin
2009/08/31(月) 14:47:43ID:4XJ92u20
GtkBUilderを使ったGtk::Drawingariaのサンプルを作ろうとしたんだけど
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?
227login:Penguin
2009/09/01(火) 01:49:35ID: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);
}
228login:Penguin
2009/09/01(火) 01:51:56ID: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;
};
229login:Penguin
2009/09/01(火) 01:58:01ID: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();
}
230login:Penguin
2009/09/01(火) 02:02:59ID:o0MV2wSR
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。
231login:Penguin
2009/09/01(火) 20:43:11ID:LcijR9gh
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ
232login:Penguin
2009/09/01(火) 20:45:43ID:azH81sw2
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ
233login:Penguin
2009/09/02(水) 01:45:20ID:XY5vbVWT
ちなみに AppWindow みたいに Gtk::Widget を継承している場合は、単に

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

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

ただ、これもトップレベルのウィンドウのイベントしか反応できないから、
>>229 のコンストラクタみたく cast_static なんかでボタンとか取得して、
自分のメソッドを connect していくのが C++ っぽい書き方な気がする。
234login:Penguin
2009/09/02(水) 13:02:19ID:Wp36mia7
>>227
コンパイルしてみたけどエラーで落ちてしまったよ

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
235login:Penguin
2009/09/02(水) 18:54:23ID: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 ) );
236login:Penguin
2009/09/02(水) 19:25:12ID: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();
};
237login:Penguin
2009/09/03(木) 02:34:12ID: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 がないと駄目だよ。
それで落ちてるんじゃない?
238login:Penguin
2009/09/03(木) 02:38:43ID:6mgKfH1n
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
239login:Penguin
2009/09/03(木) 02:47:30ID:6mgKfH1n
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。
240login:Penguin
2009/09/03(木) 12:32:06ID:jVnTHMiE
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

GtkBuilderを使わない方も少しいじってみるよ
241login:Penguin
2009/09/06(日) 14:05:15ID:aXigLrxm
Gtk::SpinButtonを浮動小数点表示にする事は出きますでようか?
242login:Penguin
2009/09/14(月) 13:21:24ID:kBmevVmP
cairommでバックバッファを使った描画はどうすれば良いのでしょうか?
save(),restore()は少し違うような気がして・・・
243login:Penguin
2009/09/15(火) 17:55:42ID:1BtVuQj7
GTK+onDirectFBをインストールしようと思ってDirectFBのサイトに行こうとしたら
なぜか繋がらないんだけど誰か教えr・・・教えてください。
244login:Penguin
2009/09/15(火) 17:56:26ID:1BtVuQj7
sageちまった
245login:Penguin
2009/09/15(火) 17:59:06ID:1BtVuQj7
http://www.directfb.org/

URLも貼っておきます。
繋がらない、マジで誰か教えてください
246login:Penguin
2009/09/21(月) 16:41:13ID:X29eYjZv
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。
247login:Penguin
2009/09/24(木) 10:56:15ID:hMFgf6/j
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。
248login:Penguin
2009/09/24(木) 11:11:57ID:hMFgf6/j
http://www.daa.com.au/pipermail/pygtk/2009-June/017120.html
http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gdk%3A%3APixbuf

どうもそのようですね。でも、もっと簡単にできないもんか……。
249login:Penguin
2009/09/25(金) 18:17:32ID:WaiZYKyV
>>243-245
DirectFBのソースをDLしようとオフィシャルサイトを開こうとしたけど、まだサーバが落ちたままだね・・・
9/14頃から落ちてるっぽいからメンテナンスにしては長過ぎだよね。
もしかしてDirectFB終了フラグON?
250login:Penguin
2009/09/27(日) 00:08:06ID:ng4uKqzS
>>249
今はつながってる。digしたら212.227.87.76だった。
251login:Penguin
2009/09/28(月) 02:12:56ID:5e1BLaTK
GTK+2.18記念あげ

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

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

WindowsやMacOSXでの動作が改善されたらいいなと。
252login:Penguin
2009/10/04(日) 14:16:19ID:P8VQfdNh
gtkmmで複数のウィンドウを開くプログラムは作れますか?
イメージ的にはGIMPの様なコントロールが有って描画画面が有る感じ
gtk+を使えば出来るのかな?
253252
2009/10/05(月) 12:16:45ID:yVAGOb64
やり方が分かったの報告(するまでもないのかな・・・)
Gtk::Windowを継承したクラスをインシタンス化して

hogehoge.show()

で表示されました。(バカみたいな話でお恥ずかしい)
254login:Penguin
2009/10/07(水) 17:30:55ID:PMxweG2O
インシタンス><
255login:Penguin
2009/10/11(日) 18:03:35ID:Sidlsc4E
Failure to compile 64 bit gtk on mac os
http://buffalothedestroyer.blogspot.com/2009/07/blog-post.html
>Attempted to install gtk+-2.17.2 on my mac. Had to install:

http://www.nabble.com/Gtk-issues-td23803508.html

mac 環境だと gtk は使えないんだろうか…?
256login:Penguin
2009/10/12(月) 14:47:14ID:sqmRrC1g
ググってみたけど使えるっぽいよ
257login:Penguin
2009/10/13(火) 21:28:52ID:l2EymYVQ
>>255
Leopard だけど、MacPortsからインスコできたよ。
Ruby/GtkとPyGtk用にと。
258login:Penguin
2009/10/14(水) 03:07:04ID:VVFhTsV6
http://www.amazon.co.jp/入門GTK-菅谷保之/dp/4274067769

webの情報をまとめた程度らしいけど
gtkmmも扱って欲しかったかな
259login:Penguin
2009/10/14(水) 03:31:23ID:cB0J9abS
Gtk+2 で初の和書じゃないの。出るだけで価値がある
260login:Penguin
2009/10/14(水) 03:43:48ID:Evvplg3O
まぁお布施のつもりで買っておくか
261login:Penguin
2009/10/14(水) 12:08:22ID:oK0tjYE+
Gtk::SpinButtonの値が変更された時に発生するイベントを一時的に停止することは出来ますか?
複数のGtk::SpinButtonが変更されるのが分かっている場合に一時的に停止して
手動でアップデートしたいのです。
262login:Penguin
2009/10/14(水) 22:05:50ID:8MVmnU1X
>>258
gtk2hsも扱って欲かったwww
買うけどなwwww
263login:Penguin
2009/10/14(水) 23:22:20ID:QhaIdhW6
QtよりGTK+がイイみたいだぬ、GTK+に決めるぬ
264login:Penguin
2009/10/15(木) 00:17:55ID:K/xBs5bI
Qtもいいぬ。触ってみてぬ(´・ω・`)
265login:Penguin
2009/10/15(木) 03:29:50ID:eDklkq43
>>258
そもそも洋書でもgtkmmはないだろ。そんな中で日本語の本なんて奇跡が
起こらない限り無理だろ。
266login:Penguin
2009/10/15(木) 13:37:26ID:pxmDyP/M
>>258
独創的なな表紙だな
267login:Penguin
2009/10/15(木) 23:20:38ID: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
    日米規制改革および競争政策イニシアティブに基づく日本国政府への米国政府要望書
    http://japan.u●sembassy.●gov/j/p/tpj-j2●0041020●-50.html#mineika-s

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

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

最近は、Web上のホームページのプログラミング解説の方が分かり
易いとうことが多くなってきているようだけど、
「入門GTK+」を
サックっと、50ページくらい読んでみたところ
この本は、意外に読みやすいし、わかり易い。
他のプログラミングの習得に挫折した人でも何とかいけそうな感じかな。
269login:Penguin
2009/10/16(金) 23:12:12ID:q3/VuRbk
QtだとQt CreatorとゆうIDEが使いやすいけど、
GTK+使う時はどんなIDE使うと便利ですか。
270login:Penguin
2009/10/16(金) 23:26:21ID:qPhMCs8o
>>269

「入門GTK+」では、Anjuta(アニュータ)が紹介され解説されているね。
271login:Penguin
2009/10/16(金) 23:34:15ID:qPhMCs8o
そうそう、時間があったので
qt4の解説書も立ち読みしてきたんだけど、今日買った「入門GTK+」
の方がわかり易かった。

誰か、「猿でもわかるqt4」って本、書いてくれないかな~
272login:Penguin
2009/10/16(金) 23:37:35ID:q3/VuRbk
GTK+は使ったときないけど、QtもQt Creatorもすごく使いやすいぬ(´・ω・`)
GTK+簡単なら使ってみようかしら。
273login:Penguin
2009/10/17(土) 14:15:16ID:XYXybyM0
>>268
読みやすいのか、ボーナス出たら買おうかな。

>>272
C++使えるならQtだけでいいんでない?
おれはCしか知らないからGTK…
274login:Penguin
2009/10/17(土) 15:22:41ID:nWRW4zS0
そいつム板のwxスレを荒らしてるキチガイだから放置推奨
275login:Penguin
2009/10/18(日) 03:51:09ID:+Fs337jm
Gtk+の場合はGladeってのがある。もちろん簡単。
276login:Penguin
2009/10/18(日) 09:53:27ID:juku8Oo/
gladeはもうobsoleteだけどね。今はGtkBuilderを使う
277login:Penguin
2009/10/18(日) 09:59:19ID:oZOJkxHq
glade自体はまだまだ現役だよ。
ただlibgladeはもうobsoloteだけどね。
278login:Penguin
2009/10/18(日) 21:34:36ID:mlVaod2q
>>271
ok
究極の友愛本と帯に書いておくよ
279login:Penguin
2009/10/21(水) 08:09:56ID:2ccCLXEP
あと半年たらずでGTK+3が出るこの時期に出さんでもという気もするが。
280login:Penguin
2009/10/21(水) 12:58:05ID:tvBs0TF8
>>279
HPに公開していたGTK+の第2版までのドキュメントを著書にしたいという願いと、
出版社側での「最近GTK+の本が出ていないので出したい」と言う思わくが一致して
GTK+-2の解説であっても出したんでないの。
281login:Penguin
2009/10/21(水) 21:25:41ID:6UoL2jU0
GTK+3ってそんなに変わるの?
282login:Penguin
2009/10/21(水) 22:08:56ID:dJLlBo7l
>>281
うん
283login:Penguin
2009/10/22(木) 05:25:32ID:sG60T9Up
3Dデスクトップをデフォルトにする方向性はやめてほしい。
Vista も KDE4 も総スカンだろ?
CPUのクロックが頭打ちなんだから、プログラマは節制しないと。
284login:Penguin
2009/10/22(木) 06:02:24ID:IEkHgIHU
CPUのクロックが頭打ちだからこその3D描画だろ
GPUにやらせたほうが描画は速い ※適切な3Dドライバがある場合に限る
285login:Penguin
2009/10/22(木) 07:05:43ID:+CGcKXd7
オイラは、普段非力なマシンばかり扱っているから3Dをすると重くてかなわん!
GTK+3が出ても当分は、GTK+2を使うよ。

「入門GTK+」を参考にすれば、jpgやgifのイメージビュ-ワが簡単に作れるし
動作も軽いからね。
286login:Penguin
2009/10/22(木) 09:00:06ID:hz6htkDb
描画は速いかもしれないがメモリ食うんだ
287login:Penguin
2009/10/22(木) 18:11:31ID:oTwQaR0U
GTK+3は使用メモリ量が減って重くなるの?
288285
2009/10/22(木) 19:41:05ID:2c91WZnW
因みに我が家での、
「入門GTK+」を参考に作ったイメージビュ-ワで
画像 1024x768_16bit_color.jpg(65536色)表示時のメモリ使用量は、

イメージビュ-ワ本体だけの立ち上げ時: 1.25MB
画像1024x768_16bit_color.jpg表示時: 1.25+2.62=3.87MB
だった。
289login:Penguin
2009/10/22(木) 22:10:41ID:1jy7wL1R
Windows だと何十メガとメモリ食うよね。
まあしょうがないんだろうけど。
290login:Penguin
2009/10/22(木) 22:42:41ID:GKZrjVVp
GTK+3はスルーしてGTK+4まで待つお(´・ω・`)
291login:Penguin
2009/10/23(金) 02:29:05ID:icsRYQ9+
Gtk+3は現状で限りなく3に近づいているから、そんなに変わらない。
292KyPAWlrSIokuKhBa
2009/10/23(金) 22:50:30ID:gHGN7SxH
The psychology literature certainly has a lot to say about the topic, but economists have a rather simplistic view of the issue. ,
293login:Penguin
2009/10/24(土) 00:38:30ID:9RfZkvGi
>実のところ,私はKDE-1.0を見て(日本語は通らなかったものの)デスクトップ分野での UNIXの未来を確信し,
>GNOME-1.0を見て目の前が真っ暗になった人なのですが(笑)
>当時はQtが改変不可だったために,GTK/GNOMEを選択せざるを得なかった.

とあるサイトの人のことばなんですが、詳しいことがさっぱりなので、どういう文脈なのかわかりません
誰か解説していただけたら幸いです。もしこれが荒れるような内容でしたらスルーを…
294login:Penguin
2009/10/24(土) 01:27:11ID:BKx301Ml
趣旨は脚注でない本文のほうにあると思うが、
GObjectも定着して成長したし、いまは中の人の評価も少しは違うかも。
まぁGtk+はダサい技術だと思う。でもダサいほうが品質高かったりするわけだが
295login:Penguin
2009/10/24(土) 01:54:57ID:Qc2ltt6a
クラス構造体の中に変数詰めてるとか(VTableとしても使えたなら…)、
G_SIGNAL_ACTIONフラグはただの目印にしかしてない所や、
せっかくGObjectというランタイムタイプシステムこさえてるのに
一部C言語バインディングからしか使えない機能とかあるっぽいところとかGTK+はだせぇなあと思う。
でもGObjectは面白かった。QtのmocやSiGnal/SLOTはいまいちそそられない。
296login:Penguin
2009/10/24(土) 04:12:11ID:wG3ZsfW/
今はValaが熱いよ。GObjectが好きな人なら尚更ハマること請け合い。

>>293
まぁ見ての通りだと思うけど、KDE1.0は衝撃的だったな。KDEが出るまでは
Linux(BSD)は一部のマニアのおもちゃでしかなかったのが一般にも普及しそう
な期待があった。
結局サーバー分野はある程度普及したけど、デスクトップ分野は今も昔も
変わってないけどね。
で、Gnome1.0あんまり記憶がないんだけど見た目はMotifに似ていてダサくて
動作が不安定だった記憶がある。
297login:Penguin
2009/10/24(土) 12:25:04ID:9hbzJrW8
シグナルとかが補完されるエディタってないかな?
298login:Penguin
2009/10/24(土) 13:28:04ID:KFtS7ScQ
>>297
gedit + gtksourcecompletion で、、、
http://gtksourcecomple.sourceforge.net/
valaでしか試してないけど、一応動く。
299login:Penguin
2009/10/24(土) 19:23:04ID:wyOmgHI3
Gnome 1というとSolarisのイメージがあるなあ
大学の標準装備だった。俺は速攻twmにしたが。
300login:Penguin
2009/10/29(木) 23:20:42ID:6yKiv2hH
これからGTK+を学ぼうと思っています。
主にLinuxで開発するつもりで、AnjutaというIDEを使ってみようと思いますが、
Windowsマシンでたまにコーディングしたいときにはどうしたらいいんでしょ?
Windows版ってありますか?
Linux板で聞くのは変ですが…。
301login:Penguin
2009/10/30(金) 21:38:43ID:7aJTkb9U
>>300
ム板にもスレがあることに気づいて
そこの過去情報を読んだら解決しました。
お邪魔しました。
302login:Penguin
2009/11/01(日) 17:23:59ID:qpVzDXQL
GUIツールキットを比較しつつ、どれがいいか検討しています。
今の第一候補はGTK+ですが、実際に使っている人の声を聞きたいです。
他の候補はQt、wxWidgetsで、言語はC++の予定です。

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

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

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

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

これらは自分で集めた情報なので間違ってるかもしれません。
他にメリットやデメリットがあればどうぞ教えてください。
よろしくお願いします!
303login:Penguin
2009/11/01(日) 21:17:41ID:lntj8SS+
C++ならQt
304login:Penguin
2009/11/01(日) 22:13:27ID:qpVzDXQL
>>303
やっぱりGTK+はC++に向いてないということですね。
情報ありがとうございました。

他にも情報があれば皆さんよろしくお願いします。
305login:Penguin
2009/11/01(日) 22:14:04ID:TdugBe1j
つGLUT
306login:Penguin
2009/11/01(日) 23:32:48ID:o2Fus8Wv
>>304
gtkmmいいよ。
307login:Penguin
2009/11/02(月) 00:05:28ID:F2TUeYlu
>>305
GLUTを調べて見ましたが、OpenGLのやつなんですね。
3Dにはあまり興味が無いですが、今後必要になったとき使ってみます。
情報ありがとうございました。

>>306
GTK+はC++との親和性が少し低いけど、gtkmmはC++用で問題ないということですね。
試してみます。
ありがとうございました!
308login:Penguin
2009/11/03(火) 01:21:46ID:Vebc7itB
rubyでgtkプログラムをしたいんですけど、何かいい開発環境はないですか?
gladeとかでみためは作って変換できるのですが、中で実行するシグナル(っていうんですかね)がどういう感じで使えるかというのがわからないので
調べ調べになってしまいます。通常使ってるのはemacsとnetbeansです。これに似た、もしくはその上で動かせるものはありませんか?
補完とかできたらうれしいのですが。
309login:Penguin
2009/11/03(火) 19:55:27ID:0PVkcWZ9
逆に「gladeとかでみためは作って変換できる」の部分を
詳しく教えてほしい。
310login:Penguin
2009/11/03(火) 20:05:58ID:DNzdCjrE
gtk-builder-convertのことかな?
311login:Penguin
2009/11/03(火) 22:30:31ID:1H0HUjWH
ruby-glade-create-template とかあったよな.
312login:Penguin
2009/11/04(水) 08:03:24ID:03fE0NL7
クラスライブラリのリファレンス(英語)なら公式サイトでrbbrっていうサンプルアプリとして
置いてあるけど、そういうことじゃないのかな?
313308
2009/11/05(木) 02:27:28ID:Cf0Et12U
>>309-311
311さんが言ってるみたいにruby-glade-create-templateで作ったgladeファイルを.rbに変換して
オブジェクトは作ったからメソッド書いて自分の思うような動きを作ってちょうだいな。みたいなところまではできます。
しかし、rbファイルを編集するときにrequire 'gtk2'をよんでいるのにemacsでもnetbeansでも補完してくれませんでした。

>>312
rbbrは使ってるOSにパッケージがあったのでそれを入れてみましたが。リファレンスを引けるようになりました!
リファレンスが引けると言うことは補完もできるのでは?と今悩んでいる状態です。
314309
2009/11/06(金) 12:34:31ID:pFNFtZEf
>>310
>>311
>>313
サンクスです。ググったら
Ruby/Gtk2のチュートリアルに書いてあるね
規制でタイミング逸して返事書かなくてすまん
315308
2009/11/06(金) 17:32:52ID:1VLamOE6
>>309さんはどんな感じでコードかいてますか?
リファレンス見ながらかいている感じですか?
316login:Penguin
2009/11/07(土) 07:20:09ID: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!を「こんにちは 世界!」
にして実行したら文字化けしたので、カッとしてアンインストールして
しまった。

以上、ご参考まで。
317login:Penguin
2009/11/07(土) 07:40:28ID:h9ilEYN9
Lazarus とか。 
318login:Penguin
2009/11/07(土) 07:53:25ID:wJdSUuBx
gtkmmを薦めてるのがいるが真に受けんように
C++でまともに動いたら、scim-bridgeみたいなモノを作る羽目にはならん
319login:Penguin
2009/11/07(土) 11:52:06ID:CPjNRklA
面白いのはわかるが、今更そんなんやったって・・・
激しくつまらんけど、これからはAIRですよ
320login:Penguin
2009/11/07(土) 13:30:53ID:pZqg2eyF
いや、これからはJavaですよ
作ってて面白いしね
321309
2009/11/07(土) 15:04:13ID:pqmmO2Ng
>>315
そうだね。
オンラインリファレンスを地味に検索しながら
emacsのruby-modeで書いてるよ。
methodsとかのメソッドで確認したりするぐらい。
emacsで構文解析してメンバ関数だのメソッドを補完する環境って無いんじゃないかな。
無作為に辞書から補完するのはあるかもしれんけど。
netbeansはよく知らない。
Ubuntuだと「追加と削除」からリRuby Browserというリファレンスビュワーが落とせるよね。
これはRuby/Gtk2のクラスも見られたと思う。
322login:Penguin
2009/11/07(土) 19:56:24ID:nXIVDau4
型がなんでgintやgcharなの?
intやcharではダメなわけ?

C言語とのこういうちょっとした違いは
他にもいろいろあるの?
323login:Penguin
2009/11/07(土) 20:43:43ID:P9pTNgo8
> 型がなんでgintやgcharなの?
移植しやすくする為の措置じゃなかったっけか
324login:Penguin
2009/11/07(土) 21:04:17ID:nXIVDau4
「g」が付いてるほうが移植性が高いのかねぇ。

みんなはそういうのをどうやって覚えたの?
解説本とかあまり売ってないみたいだけど…。
325login:Penguin
2009/11/07(土) 21:25:19ID:NL8bJnRF
>>nXIVDau4
たとえばlongが64bitの環境でも、glong的に32bitであってほしい場合にlongの代わりにintやint32をtypedefするとかな。
データ構造の隠ぺいとかはWeb上の先人の残した情報だったり、技術書立ち読みだったり、Win32やNSPRとか同じことやってる実例を見たりとかで知ったよ。
326login:Penguin
2009/11/07(土) 22:58:20ID:FPX1oLqZ
>>324
C言語はintとかの定義に幅があるから
コンパイラが違えばintのサイズも異なったりするので
厳密に定義した独自のintを用意するわけですよ

先月出た本はどうでしょう
http://www.amazon.co.jp/dp/4274067769
327login:Penguin
2009/11/07(土) 23:54:07ID:Iq2jGS9i
gint32、とかにした方が判りやすいのに
328login:Penguin
2009/11/08(日) 03:02:52ID:A1QtHV1W
>>325-326
なるほど、なんとなくわかった。
ありがと。チュ!

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

CよりC++のほうが言語として優れていたり、C++を覚えたほうが何か有利だったりするんですかねぇ?
gtkmmというのを使えばC++でもいけるんですよね?
何かアドバイスをもらえればうれしいです。
330login:Penguin
2009/11/08(日) 22:48:08ID:iZONJSh7
>>329
有利かどうかでいえば、一山いくらのプログラマとしても仕事に付けるかという観点ではC++/Java/PHP/VBあたりだろうな。
有利不利なんぞを気にするんなら間違ってもWindowsかWebアプリ、携帯以外見向きもしないほうがいい。GTK+なんかもってのほかだ。

マジレスするなら、C++にあまり慣れてないならCでGTK+やるのがいい。
ついでにPythonあたりも齧っとけばC+GTK+で面倒な部分もこなせるし、Linux方面のプログラムを開発するのに不自由はしないだろう。
331login:Penguin
2009/11/08(日) 23:24:58ID:3wmSljPh
>>329
Cはスーパーマクロアセンブラ、C++になって高級言語の仲間入りっつー感じかな。
ある程度規模の大きなプログラム作るんなら、絶対C++の方が有利。
Cははっきり言って時代遅れ。C++は習得しておいた方がいいよ。
組み込み系なんかだと、また話は変わってくると思うが。

GUIツールキットだって、殆どのものがC++を念頭に置いて作られてる。
Cが標準でC++ラッパーを後付けしたのはGTK+くらいなもの。
まぁ、それだけ歴史が古く、練り上げられてるとも言えると思うけど。
332login:Penguin
2009/11/09(月) 00:10:55ID:xrkj026G
>>330-331
どうも!
「C++に慣れてないなら」っていうのはオブジェクト指向が壁になるかもしれないってことですかねぇ。
一応JavaやPHPもちょこちょこやってるので、理解はしてます。

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

もうちょっと考えてみます。
とても参考になりましたー!
333login:Penguin
2009/11/09(月) 00:31:21ID:GPAwpvGp
>>332
オブジェクト指向が壁になるからではないよ。ほぼ1からC++とGTK+(とgtkmmの固有事情)やるよりはCとGTK+のほうが楽かなとね。
一応gtkmm以外にもJavaとPHP向けのバインディングがあるから、Cでやるのが面倒なようならそれぞれJava-Gnome/PHP-GTKで調べてみるといい。
334login:Penguin
2009/11/09(月) 01:09:23ID:GiNGaxO1
gtkmmの固有事情くわしく

これから始めようと思ってるんだけど
>>132, >>318とか見ると気になる
335329
2009/11/09(月) 01:13:18ID:xrkj026G
>>333
Cのほうがやっぱ楽なんですか。
といいつつC++も捨てがたいけど、>>334さんと同じくgtkmmの固有事情が気になります。

JavaやPHPのやつも存在は知ってましたが、CかC++でアプリを作れるようになりたいなぁと思ってて…。
336login:Penguin
2009/11/09(月) 01:49:16ID: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のほうを
337login:Penguin
2009/11/09(月) 09:55:18ID:H/aMIY+I
わざわざPerlで扱ってる変態もいるしな
338login:Penguin
2009/11/09(月) 10:14:55ID:LeSNQMah
>>335
俺は Python でやってる。
C を使っている gtk+ プロジェクトだったら C で書く。
そんなに違いはないし、簡単。

Cだとヘッダーにいちいちプロトタイプ宣言しなければならなかったり
毎回コンパイルしなければならないのが面倒だからPython使ってる。
楽チン。
339login:Penguin
2009/11/09(月) 15:19:07ID:dkYv1Xb9
>>337
ぇー最近perlでGTK触りはじめたけど、変態じゃないやい><
340login:Penguin
2009/11/09(月) 15:40:43ID:nWvFWYHF
とにかく完成するのが目的なら自分の好きな言語でいいじゃん。おれはRubyだぜ。
341login:Penguin
2009/11/09(月) 18:21:40ID:EMO5BJHN
GTK+はバインディングが多いのがいいよね
342login:Penguin
2009/11/16(月) 16:13:58ID:VCRzBqJE
なんだかんだ言って、Cのコードは寿命が長いんだよね。
コストベーシスで考えると、GTK+の場合は全てCで書いた方が
いいと思う。他のメジャーなソフトはほとんどCだし、
インテグレーションもし易いよね。
343login:Penguin
2009/11/16(月) 17:18:31ID:gFc8JNPu
Cは初心者向けの本を昔読んで、当時はなんだか難しいなぁって思ったけど、
GTK+に挑戦したくてもう一度読んでみたら大して難しくなかった。

配列、関数、ポインタ、構造体の使い方の基礎がわかってたらGTK+を扱える?
この程度の知識で始めるのはなんか怖くて・・・。
344login:Penguin
2009/11/16(月) 17:21:51ID:VCRzBqJE
GTK+なら、型が決まっているから、
ほんとに基本的な知識だけで十分だと思う。
マクロやプリプロセッサもよく使われているけど、
非常にシンプルなコンセプトだし、問題ないとおもう。
345login:Penguin
2009/11/16(月) 20:35:58ID:gFc8JNPu
>>344
どうも!
今年中に始めよーっと!!
346login:Penguin
2009/11/16(月) 21:19:38ID:tJXAF2DJ
もう「今年中」とかいうセリフが聞かれる時期になったか。
347犬山ぽち丸
2009/11/19(木) 00:11:09ID:CpUTPEU6
Perl でこんな感じのを書いてみました。
http://pochimaru.seesaa.net/article/132639898.html

次ページ移動ボタンをクリックする事で次ページを表示したいのですが、
このままでは期待するように動きません。
現時点の表示をクリアして次ページを表示するにはどうしたらいいのでしょうか?
348login:Penguin
2009/11/19(木) 05:10:52ID:kHCd9OdN
# perlって聞いた時点で見る気なくした
349login:Penguin
2009/11/20(金) 14:06:49ID:TNyOV+9k
DrawingAreaをAspectFrameで包むと上下左右に、
GNOMEでは1ピクセル、
Fluxboxでは2ピクセル隙間が開くんだが、なんとかならないものか
350349
2009/11/20(金) 14:52:09ID:TNyOV+9k
set_border_width(0)でもだめだった

python-gtk2 2.16.0
python-glade2 2.16.0
gtk 2.18
351login:Penguin
2009/11/21(土) 12:33:26ID:cf2l5sy0
gtk2.18.3をubuntu9.10でやっているんですが
キーを押し続けている状態を知る事はできないんでしょうか?
今はkey-press-eventとkey-release-eventシグナルを使っているんですが
キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて
押し続けている状態を知る事ができません。
352login:Penguin
2009/11/21(土) 15:35:08ID:zEcsEEOn
key-pressのあとにkey-releaseがなければ押し続けていることになる
353login:Penguin
2009/11/22(日) 01:06:56ID:EckaNW4z
>キーを押し続けているとkey-press-eventとkey-release-eventが交互に連続して飛んできて
押しつづけているのにrelease-eventがくるとかキーボードぶっこわれてるんじゃね
354login:Penguin
2009/11/22(日) 08:57:13ID:OlBHF5u9
>>351
Xのレベルではそれが通常の動作(モディファイアキー(の一部)以外では)。
Xはautorepeat時にKeyReleaseと続くKeyPressでタイムスタンプを同一にして
送ってくるので、GDKはそれを利用して>>352のように見せるコードが
一応入ってはいる、が、環境や同時に利用するプログラムといった条件によっては
それが働かないみたい。
自分の環境だけ考えるならGDKの該当部分に手を入れて常にその動作をするように
してしまうのが簡単。そうでないならやはり同様に次のイベント
(gdk_event_peekで得るのかな)とそのタイムスタンプを見て判断するんじゃないかと。
355login:Penguin
2009/11/22(日) 11:40:29ID:xNfLAKy+
>>352
>>353
>>354
レスありがとうございます。
gdk_event_peekはnullが返ってきたのでダメでしたが
gdk_event_getはタイムスタンプ同一のメッセージがしっかり返ってきました。
おかげさまで上手くいけそうです。
356login:Penguin
2009/11/22(日) 22:53:53ID:LzN5AhP5
>>347
こんな感じでどうでしょう?

163a165,168
> my $currentObject = $scrolled_window->child;
> if($currentObject) {
> $currentObject->destroy;
> }
204a210
> $drawable->show;
224a231
>
357犬山ぽち丸
2009/11/26(木) 19:27:51ID:bDLkSh53
>>356
動かしたいように動かす事が出来ました、ありがとうございます。
とても基本的なところで躓いてしまってたみたいで、お恥ずかしい限りです。
358login:Penguin
2009/11/27(金) 20:56:42ID:w3OKtepz
GtkWidget
↑ ↑
GとWが大文字
これに気付くのに4日掛かった
コンパイルが通って空のウィンドウが表示されたときは
雄叫び上げちゃったよ。
359login:Penguin
2009/11/27(金) 21:30:47ID:RzRcFxle
www

とりあえず、なんだ、おめでとう
360login:Penguin
2009/11/27(金) 21:51:12ID:HBGtWPJy
Debianスレで GTK+ でウィンドウ出すのに四日かかったって言ってた人かw
361login:Penguin
2009/11/29(日) 00:46:08ID:guffPLRY
おめでとう、マジで
さぁ早くシグナルをコネクトしまくる作業に戻るんだ
362login:Penguin
2009/12/01(火) 22:14:30ID:sy3qzyYB
>>361
ぬるぽっ!
363login:Penguin
2009/12/01(火) 22:23:34ID:xoJE4V4A
>>362
ガッ
って言ってほしいのね。
もぉ、寂しがり屋さんなんだからぁ。
364login:Penguin
2009/12/05(土) 20:49:17ID:CO55p0ew
なんでこのスレ過疎ってんの?
プログラマー不在のスレなの?
365login:Penguin
2009/12/05(土) 21:08:39ID:Gmpm8vF/
>>364
そう思うならまず率先して何かを作って公開してみては如何でしょうか?
366login:Penguin
2009/12/06(日) 00:50:56ID:fNpRY7Ok
話題がないだけでしょ。
367login:Penguin
2009/12/07(月) 17:19:37ID:CENTWTgC
良くも悪くも枯れてるからな
368login:Penguin
2009/12/07(月) 20:01:28ID:LkAo4E7O
gtk2hsで書いてみたけど思ったより使いやすかった
369login:Penguin
2009/12/13(日) 11:19:39ID:naHBDIjP
gtkで外部装置から受信した温度データをグラフ描画するソフトつくってる。
左3/4が描画領域で残りに現在時刻や表示倍率の設定がある。

連続してデータ受信すると、時刻表示のタイマーがとまったり、倍率設定
のコンボボックスが操作できなくなるので、スレッド分けしようと思うのだけど
expose_eventを別スレッドにすることって可能?
370login:Penguin
2009/12/13(日) 11:42:32ID:P93DdDFa
できそうな気がするけど。
とりあえずやってみたら?
371login:Penguin
2009/12/16(水) 20:46:38ID:laS/Dg3j
>>365
作る気になれるようなことが必要なのではないですか。
372login:Penguin
2009/12/16(水) 20:51:22ID:dPFj9y5E
>>369
すごいですね
勉強のためにぜひソースを見せて頂けないでしょうか?
373login:Penguin
2009/12/16(水) 20:53:19ID:dPFj9y5E
もしくは、ソースリストを公開しているwebページを
ご存知でしたら教えてください。
374login:Penguin
2009/12/16(水) 20:54:06ID:6soPE05o
    ∧__∧
    (´・ω・)   いやどす
    ハ∨/^ヽ
   ノ::[三ノ :.、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|
"""~""""""~"""~"""~"
375login:Penguin
2009/12/16(水) 21:47:42ID:c63j0iz9
受信を別スレッドでやるのが普通じゃないの
376login:Penguin
2009/12/16(水) 22:44:30ID:Q8cS+VLW
ブロックする可能性のある処理は別スレッドにしないと止まる
377login:Penguin
2009/12/16(水) 23:39:53ID:jaaomSx0
Exposeを別スレッドって、ぷっ。
さすがLinux。
378login:Penguin
2009/12/17(木) 02:29:15ID:F8Jdsro2
何がおかしいのかよくわからん。
379login:Penguin
2009/12/26(土) 01:54:27ID:XiSC9KS7
GTK+の本を買おうと思うんですけど、この2冊だとどちらがいいですか?
・入門GTK+
・Foundations of GTK+ Development

プログラミングはCの基礎がわかっている程度です。
PHPもやってます。
380login:Penguin
2009/12/26(土) 13:18:25ID:6MLS1ve1
両方買えばいいじゃない。
あと、入門GTK+の方は作者がホームページで
本の内容を公開し始めてる
381login:Penguin
2009/12/26(土) 14:29:39ID:YM2nDrzN
Foundations of GTK+ Development は一部 google books にでてる
382379
2009/12/27(日) 00:54:04ID:HfaPMpb7
>>380
両方買うと、結局一冊は読まないままになったりするタイプなので…。
あと、書籍代はケチるべきじゃないと思いますが、深刻な金欠状態なのです。

入門GTK+の作者サイトでの公開について、情報ありがとうございます。
休暇中に目を通してみようと思います。

>>381
Amazon USのレビューで「ネット上で読める」と書いてあったので、どこにあるのか気になってました。
書店になくて立ち読みできなかったので、Google Booksで読んで判断します。

どうもありがとうございました。
383login:Penguin
2009/12/27(日) 08:12:49ID:Ri5kV8GM
GTK+は公式チュートリアルが結構充実している方だと思うので、
それ読めばとりあえずリファレンスとサンプル眺めつつ使えるようになる。

それでも本が欲しくなるならあるウィジェットの使い方を
詳しく書いていて欲しいだとかマルチスレッドとの兼ね合いが
知りたいだとか(あまりいい例が出てこなくてすまん)
求めるものがはっきりしてくると思うので、
それから本を選んでもいいんじゃないだろうか。
384379
2009/12/27(日) 20:27:25ID:HfaPMpb7
>>383
公式チュートリアルのことを知りませんでした…。
ダウンロードできたので、スマートフォン等にコピーして移動中でも読めそうです!
プリントアウトして持ち歩くのもいいかもしれません。
最終更新日が2002年10月27日と古いんですけど、問題ないですよね?

書籍を買ったほうが最後まで読みつづけようという意欲が持てる気がしますが、
とりあえず公式チュートリアルを読もうと思います。

ちなみに「Foundations of GTK+ Development」はGoogle Booksで見てみたら
とても良さそうでした。
「入門GTK+」のほうは著者ページで見つからなかったです・・。
385login:Penguin
2009/12/28(月) 02:58:56ID:CtQUEG8Y
> 最終更新日が2002年10月27日と古いんですけど、問題ないですよね?

……?

公式チュートリアルは
http://www.gtk.org/documentation.html でズバリ The Official Tutorial といってる
http://library.gnome.org/devel/gtk-tutorial/stable/
だよ。
GTK+のソースコードのtarball中にも入ってる(docs/tutorial/以下)。
386login:Penguin
2009/12/28(月) 07:38:54ID:RlHoBGgo
>>385
Tutorial Availabilityのページにあるリンク(fhttp://ftp.gtk.org/pub/gtk/tutorial)から
ダウンロードしました。
387login:Penguin
2009/12/28(月) 11:47:38ID:T0tfWrHc
自分でいいと思ったならそれ読め。もう知らん。
388login:Penguin
2009/12/28(月) 22:21:50ID:Uh78zlUy
そう言うな。明日になればまたみんな仲良しななしさん
389login:Penguin
2009/12/28(月) 22:55:34ID:AK9LsQvN
>>387 何?どうしたの?
390login:Penguin
2010/01/09(土) 18:48:59ID:khh4I0eb
今日からGTK+を始めてみた
今までwindowsのvisual stdioしか使ったことなかったから、パスさえ通ってりゃ
#g++ hello.cpp
だけでコンパイルをやってくれると思っていた
今日一日かかって`pkg-config --cflags --libs gtk+-2.0`を知って
ウィンドウを出せた
疲れた
391login:Penguin
2010/01/10(日) 13:16:43ID:3oa4ldyN
VisualStudioだってオプションからディレクトリの設定しなきゃ
ビルドすらままならないだろうに、何言ってんだコイツ

ましてやコマンドラインからCL.exe呼び出すんなら、vcvarsall.batなり
vcvarsall.batで設定される環境変数群を、予めユーザー環境変数に定義して
おかなければCL.exeもg++と同じエラー吐いて止まるだろうに・・・
392login:Penguin
2010/01/10(日) 14:58:37ID:zlmG+3hJ
pixmapの背景色を黒くしたキャンバスを作って
その上に画像と文字を描画してて、文字は白

これに対してニコ動のコメント表示/非表示みたいなことをやりたい

文字を描画するときのみXORモードで書いてるんだけど
背景の黒の上に書かれた物は消えるけど、画像の上に書かれた
物は黒抜き去れて残ってしまう

説明わかりにくいかも知れないけど、なんか良い方法無いかな
393login:Penguin
2010/01/13(水) 03:10:04ID:hKXsU3qa
文字を描画しないだけでいいんじゃないの?
394login:Penguin
2010/01/13(水) 13:45:44ID:rT8A3kXe
>>390
チュートリアルとか見てないの?
395login:Penguin
2010/01/14(木) 01:41:29ID:2htHqmwQ
空気の福田はともかく、徳井が苦手でねぇ…
396login:Penguin
2010/01/15(金) 10:31:57ID:2tKD4R7l
GTK+を使って記述されているソフトとしては
gimp以外だとどんなものがありますか?
ソースリストを読んで勉強したいのですが
397login:Penguin
2010/01/15(金) 11:34:43ID:+6ILVUJ5
>>396
http://ja.wikipedia.org/wiki/GTK%2B#GTK.2B2.E3.82.92.E5.88.A9.E7.94.A8.E3.81.97.E3.81.9F.E3.82.BD.E3.83.95.E3.83.88.E3.82.A6.E3.82.A7.E3.82.A2
http://www.gtk.org/screenshots.html
398login:Penguin
2010/01/16(土) 13:06:47ID:st13uJnk
2chブラウザのJDとか、画像ヴューアのgqviewとか。
399login:Penguin
2010/01/23(土) 07:49:03ID:c81zxfOz
ツールバーにウィンドを表示しないようにするにはどうすればいいの?
400login:Penguin
2010/01/26(火) 09:24:59ID:WUy9SOAf
 linux 初心者です。C言語はバリバリです(ウィンドウズで)最近、fedora12 に乗り換え、システムを移植中なんですが、
ウィンドウ関連のところで、GTK+なるものが必要とのこと。そこで、インストールしましたが、
実際のソースコードをコンパイルしてもエラーがでます。
 勉強不足の所をご指摘いただけないでしょうか?

gtk+ インストール
yum -y install gtk+
でインストールしました。 800KBぐらいだったと思います。
そこで、次のコードを emacs でコンパイルします。
#include <gtk/gtk.h>

int main( int argc, char *argv[] )
{
GtkWidget *window;
gtk_init( &argc, &argv[] );
window = gtk_winidow_new( GTK_WINDOW_TOPLEVEL );
gtk_widget_show( window );
gtk_main();

return 0;
}
すると、error : gtk/gtk.h: そのようなファイルやディレクトリはありません。
その他これに関連するエラーがでます。
gtk/gtk.h が無いのか、と思って、
もう一度 gtk+ をインストールしようとすると、
gtk+-1.2.10-69.fc12.i686 はインストール済みか最新バージョンです
何もしません
とでます。
...よろしくお願いします。
401login:Penguin
2010/01/26(火) 11:26:21ID:TXiGdVqu
チュートリアルどおりやれば躓かないとおもうんだけどな
gtk2, gtk2-develを入れて
gcc test.c -o test `pkg-config --cflags --libs gtk+-2.0`
402login:Penguin
2010/01/26(火) 16:11:56ID:R1nywYDP
>> 401
 遅くなりましてすいません。返信ありがとうございます。
うまくいきました。
ウィンドウが表示されたとき、感動しました。
でも、emacs からはコンパイルできませんでしたので、リンカーあたりの
設定かな?と思っています。
 何はともあれ、ありがとうございました。
403login:Penguin
2010/01/26(火) 16:57:00ID:R1nywYDP
またまたお願いいたします。
linuxにおいて、
windowsの
SetCursorPos()
GetCursorPos() に相当するものはありますか?
参考リファレンスなど紹介してもらえれば助かります。
404login:Penguin
2010/01/26(火) 17:26:41ID:Up0ueX3p
>>403
http://library.gnome.org/devel/gtk-tutorial/stable/
405login:Penguin
2010/01/26(火) 18:04:33ID:R1nywYDP
>>404
 返信ありがとうございます。
...勉強します。
406login:Penguin
2010/01/26(火) 18:11:45ID:OKgnAGh0
>>402
pkg-configコマンドが何なのか調べるんだ。
407login:Penguin
2010/01/28(木) 14:40:04ID:YXchBGq5
はじめまして。GTK初心者です。

困っていることがあります。
gtk_init()でハングするんです。

1. gtk_init()を手動でコール出来るようプログラミングし、rc.localでそのプログラムを起動。
2. xwindow(gnome)ログイン後にgtk_init()をコールさせる。

上記の2の時点でgtk_init()でハングしているらしいです。
(gtk_init()下行のログが出力されない)

原因や対処法をご存知の方いらっしゃいませんか?
408login:Penguin
2010/01/28(木) 18:04:22ID:VFHNmy96
>>407
突っ込みどころが3点ほど。

・rc.localに登録して起動し、さらにログインした後にも起動・・・?

・gtk_init()だけ実行するプログラムを作ったの?
 だとしたら壮大な勘違いをしている。gtk_init()関数が何をする関数なのか調べるんだ。

・「ログ」とは何のログ?ハングしているらしい、では分からないのでソースをUPするんだ。
409login:Penguin
2010/01/28(木) 18:34:10ID:YXchBGq5
>>408
ありがとうございます。すみません、説明不足でした。

ちょっとソースは長いので文書のみで失礼します。

プログラムは、rc.localで起動した時点ではgtk_init()をコールしない作りにしてます。
その後、ログイン後にコンソールから別プログラムを通してプロセス間通信によりコマンドを送信、
そしてコマンドを受信した時点で gtk_init()をコールさせる形にしてました。

ログは、
 printf("call gtk_init\n");
 gtk_init();
 printf("call end\n"); ★
のようにして、★が出力されない感じです。

その後の調査で、どうやら rc.local起動させた場合、環境変数 DISPLAYなどが
全く設定されていないようです。

そこら辺に問題有りかと思っているのですが、なにぶん、勉強不足でして。
時間も無いので質問させて貰った次第です。
410login:Penguin
2010/01/28(木) 18:40:22ID:A3FmJC2O
DISPLAYも何も、Xの起動はrc.localより後なんだぜ?
プログラム分けるんじゃ駄目なんかい
411login:Penguin
2010/01/28(木) 18:44:27ID:0EFvnz24
時間も無いので
時間も無いので
時間も無いので
時間も無いので
時間も無いので
412login:Penguin
2010/01/28(木) 19:24:50ID:bFXQct0B
>>409
「GTK初心者」と言うよりLinux&プログラミング初心者のようですね。

貴方にGTKはまだ早いです。環境変数やXの基本が理解できていないと
説明されても分からないと思いますので出直してきて下さい。
413login:Penguin
2010/01/28(木) 19:30:37ID:uG/wS28i
お金も無いよ
お金も無いよ
お金も無いよ
414login:Penguin
2010/01/28(木) 19:32:04ID:YXchBGq5
>>410
ありがとうございます。
inittabで初期化レベルを分けていることもあり、
てっきりrc.local前に起動処理が走っているかと勘違いしていました。
お恥ずかしい。

>>412
おっしゃるとおりです。
出直してきます。
415login:Penguin
2010/01/28(木) 21:55:00ID:WU2RMXov
>>414
DISPLAYが設定されてなくて、Widget使わないなら、
GObject関係を使うためだけなら、g_type_init ()すれば良いよ。
有名なエラーが出るからgtk_init()使ったってエスパーしてみた。
416login:Penguin
2010/02/07(日) 16:35:02ID:jjKybwb6
書籍「入門GTK+」のP31のプログラムを打ち込み、何度も確認したのですが、どうしても下記のエラーが出てしまいます。
何が間違っているのか、ご教示願います。
gtk-sample.c: In function ‘create_menu’:
gtk-sample.c:64: error: ‘acitons’ undeclared (first use in this function)
gtk-sample.c:64: error: (Each undeclared identifier is reported only once
gtk-sample.c:64: error: for each function it appears in.)

gtk_action_group_add_actionsの値でエラーが出るようです。関係する記述を確認しましたが問題ありません…
417login:Penguin
2010/02/07(日) 17:08:07ID:KhA+E7Mu
エラーメッセージを読んでみましょう
acitonsが宣言されていませんよ
actionsと間違えていませんか?
418login:Penguin
2010/02/07(日) 17:18:05ID:jjKybwb6
>417さん
ごめんなさい、本当に気づきませんでした。エラー文を読んでいたのに…ありがとうございました
419login:Penguin
2010/02/09(火) 01:35:25ID:gRID6Pu9
ググれ秀才
420login:Penguin
2010/02/10(水) 20:29:31ID:y7MwWf/g
gtkmmをこれからやってみようと思ってるけど、
入門GTK+を読みながらC言語で練習するより
最初からgtkmmでC++使ったほうがいい?

gtkmmの入門書がないみたいなので、
取っかかりとして入門GTK+を候補にしてるんだけど…。
421login:Penguin
2010/02/11(木) 13:48:24ID:AIMyey0J
>>420
最終的にC++で書くのが目的なら、↓みたいなところがあるからC++で書けばいいんじゃない。
gtkまわりの日本語の情報が少ないから、言語は違うけどたまに参考にさせてもらってるよ。
http://book.geocities.jp/gtkmm_ja/docs/tutorial/html/index.html
422login:Penguin
2010/02/12(金) 15:44:26ID:DJstgHYM
>>421
そのサイト見てみます。
ありがとう。
423login:Penguin
2010/02/17(水) 19:33:47ID:Ozbv3EUx
GTK+ 1.2 で作った古いツールを 2.0 で動くように手直ししてるんですが、とりあえず Makefile の中で

# GTK+ 1.2
CFLAGS = `gtk-config --cflags`
LIBS = `gtk-config --libs`

# GTK+ 2.0
CFLAGS = `pkg-config --cflags gtk+-2.0` -DGTK_ENABLE_BROKEN -DGTK_WINDOW_DIALOG=GTK_WINDOW_TOPLEVEL
LIBS = `pkg-config --libs gtk+-2.0`

てな感じでお茶を濁して動かしているんですが、ソースを全面的に 2.0 対応するコストって
どれほどでしょうか?
150本ほどのちまちましたツールがあって、2.0 で起こしたツールが2割程度、後の8割は、
前記のとりあえずリビルドです。
424login:Penguin
2010/02/17(水) 19:42:41ID:TkV44uU+
1.2のランタイムぐらい入っててもいんでない?
425login:Penguin
2010/02/21(日) 14:06:19ID:pTXZtDIq
ちょっと自前で描画しようとすると、gdkとcairoが混在していて
煩雑としてるなぁ。
少なくともGDKの描画関連のAPIはもういらないだろう。
3.0辺りでばっさり消すとかしてもいいんじゃないか。
426login:Penguin
2010/03/11(木) 00:46:30ID:Vm2wsjJM
GTK(+glade)を使ったあるプログラムを
・HP-UXサーバ
・RedHat Linuxサーバ
でそれぞれコンパイルおよび動作させ、
別のLinux端末に表示させたところ、
表示や動作自体は問題無いんだけども、
エディットボックスへの入力で
RedHat Linuxの方は日本語入力を受け付けてくれません。
ちなみに、それぞれに入っているGTKはともに1.2です。
SCIMとかの環境は、一見同じっぽいですが・・・・
どこか見るべき箇所はあるでしょうか?

ちなみに、glade自体も
HP-UXは日本語入力を受け付けてLinuxサーバの方は
日本語入力を受け付けてくれません。
gladeの問題なんですかねぇ・・・?
427login:Penguin
2010/03/12(金) 16:52:20ID:sdgtdQtC
Gtk::Dialogの派生クラスを作成してある条件の時表示させています。
表示後一定期間経過したら自動的にそのダイアログを閉じたいのですが、
どうすればいいのでしょうか。
特にダイアログにこだわっているわけではありません。
何かメッセージを表示 -> 一定時間後に自動的に消去
が実現できればいいです。
よろしくお願いします。
428login:Penguin
2010/03/12(金) 19:39:46ID:37m6gC+E
>>427
g_timeout_add関数ではだめでしょうか?
429login:Penguin
2010/03/12(金) 19:41:48ID:WSSuZVVD
>>428
そこはらめぇーーーー
430login:Penguin
2010/03/16(火) 23:40:15ID:u16nCOLZ
gtk_widget_drawを呼ぶとたまにアプリが落ちる
調べたらgtk2では非推奨になってた
かわりにgdk_window_invalidate_rect使えって書いてあったから
それ使うようにしたら、exposeイベントハンドラに入ったり入らなかったりするようになった

431login:Penguin
2010/03/19(金) 03:10:05ID:pTXFbkuH
Xawで作られたソフトのWidgetをGnomeテーマのスキンっぽく
変える方法ってありますか?Xaw3dみたいな
432login:Penguin
2010/03/22(月) 18:34:33ID:gITq0f63
>>427
作ってみた。たぶん、427はここを見てないだろうけど
#include <gtk/gtk.h>

gboolean timeout(gpointer data){
gtk_dialog_response( GTK_DIALOG(data), GTK_RESPONSE_ACCEPT );

return FALSE;
};

int main (int argc, char **argv){
guint tag;
GtkWidget *dialog;

gtk_init (&argc, &argv);

dialog = gtk_dialog_new_with_buttons ("My dialog", NULL,
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
tag = g_timeout_add_seconds( 2, timeout, dialog );
gtk_widget_show_all (dialog);

gtk_dialog_run(GTK_DIALOG(dialog));

g_source_remove(tag);

return 0;
}
433login:Penguin
2010/05/01(土) 02:23:02ID:ZoBub0ZC
あるデータファイルをどんどん読んで処理しながら、1秒に1回その途中経過を
Windowに表示する、みたいなプログラムを書こうとしています。

Windowに表示する部分は、gtk_main()を呼ぶ前に、g_timeout_add(1000, draw, NULL)
のようにしてタイムアウト関数を使えばいいとして、データファイルを読み込んで
処理する部分は、どこに書けばいいのでしょうか?
スレッドとかを使わずにやりたいのですが。
434login:Penguin
2010/05/01(土) 18:51:28ID:lTmE6Ym2
g_io_add_watchとか?
435login:Penguin
2010/05/01(土) 21:52:51ID:5eA3cNHe
LinuxでGTK+やってる人はWindowsでも主にGTK+で書いてる?
WindowsのAPIは使いませんって人いるのかな。
436login:Penguin
2010/05/02(日) 00:32:37ID:Bdebw0Wa
そもそもWindows使いません。
437login:Penguin
2010/05/02(日) 06:00:37ID:J+HCMgwe
>>433
スレッドを使わない方がめんどくさいと思うんだけどね。
ずーっと処理し続けて一秒に一回描画するって事だと
その処理の間は入力受け付け無くてもOK?
その為のスレッドなんだけどなぁ。

シングルCPUでもそう言うことが出来るのがスレッドの良いところ。

それでもスレッドを使いたくないというなら、こまめにシグナル飛ばしっこ
するしかないと思う。
438login:Penguin
2010/05/02(日) 21:48:38ID:uNQYZGNa
簡単なシミュレーション用のGUIラッパ作りたんですが、
Qt4とgtkmmどっちが作るの楽ですか?
どっちもバグてんこ盛りそうで、javaやM$畑に生まれたかった
439login:Penguin
2010/05/02(日) 22:14:42ID:WSA7U0rv
>>438
マジでバグテンコ盛りだからいまからでも上にJava+Swingあたりでやらせてくれって掛け合ったほうがいい。
ちゃんと上にQtもGTK+もバグテンコ盛り過ぎてプロダクションレベルに使えないって直訴するんだぞ。
440login:Penguin
2010/05/04(火) 08:25:25ID:i62yYai1
>>438
vala とかどうか。バグが多いかどうかはプラットフォームに
よる部分も多いと感じるが…win ならC#で組むのが楽だとは思う。
441login:Penguin
2010/05/04(火) 09:52:32ID:gZYcN+Ue
>> 439
使いこなせていないだけじゃないの。
442login:Penguin
2010/05/04(火) 21:20:07ID:C0XJN+7X
なんでこのスレ、ム板じゃないの?
SDLとかはちゃんとム板でやってるのに
なんでGTKはのけ者なの?
いじめに合うの?
443login:Penguin
2010/05/04(火) 21:28:25ID:9ORU/lJS
Gtkプログラミング on Windows!!!
ってスレがム板にあるけど?
http://pc12.2ch.net/test/read.cgi/tech/1147024203/
444login:Penguin
2010/05/04(火) 21:36:12ID:C0XJN+7X
窓専用じゃん。
445login:Penguin
2010/05/04(火) 21:47:13ID:9ORU/lJS
自分で立てればいいぢやん
446login:Penguin
2010/05/05(水) 17:49:24ID:NLGDqQjm
まぁええやんここにも有っても
どうせ両方見てるし
447login:Penguin
2010/05/07(金) 23:05:29ID:ZSmA/qjk
>>433
g_idle_add関数がいいかも。

>>435
WindowsでもGTK+を利用してるけど、必要ならWinAPIも利用するよ
ちないに、LinuxのGTK+とWindowsのそれとは挙動がちがうことがあるから
注意が必要

448犬山ぽち丸
2010/05/22(土) 13:39:02ID:CFJ0lXX6
以前ここで質問してご教示いただいた事を参考にして、
縦書きビューワーを作ってみました。

ぽち*ろぐ: ぽちたて 0.1.0 をリリースしました
http://pochimaru.seesaa.net/article/150542330.html
449login:Penguin
2010/05/25(火) 09:28:21ID:wq6kVR7V
>>448
おめ!
450login:Penguin
2010/06/16(水) 00:53:38ID:U5l5xiNY
Xサーバーのdepth=15bit下において以下のコードで色がおかしくなります。(例えば白がマゼンタぽくなる)firefox,gimp上やdisplay -window root では正常に見えます。
こちらの書き方が正しくないのでしょうか?それともgdk-pixbufの15bitでの処理が正しくないのでしょうか16,24bitでは正常に見えます。
(xorg-server-1.7.1,gtk+-2.21.0)

#include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>

int main(int argc,char *argv[]){
Display *dpy;
int scr;
Window root;
int depth;
GC gc;
GdkPixbuf *pixbuf;
gint imgw,imgh;

dpy = XOpenDisplay(NULL);
scr = DefaultScreen(dpy);
depth = DefaultDepth(dpy,scr);
root = RootWindow(dpy,scr);
gc = DefaultGC(dpy,scr);

g_type_init();
gdk_pixbuf_xlib_init_with_depth(dpy,scr,depth);
pixbuf=gdk_pixbuf_new_from_file(argv[1],NULL);
imgw=gdk_pixbuf_get_width(pixbuf);
imgh=gdk_pixbuf_get_height(pixbuf);
gdk_pixbuf_xlib_render_to_drawable(pixbuf,root,gc,0,0,0,0,imgw,imgh,XLIB_RGB_DITHER_MAX,0,0);
gdk_pixbuf_unref(pixbuf);
return 0;}
451login:Penguin
2010/06/29(火) 08:21:44ID:7ZTRAVs/
この板の奴には分からんだろ
452login:Penguin
2010/06/29(火) 12:06:30ID:SCBkgPqa
gdk-pixbufの新しいバージョンとソースくらは確認できるだろ?
453login:Penguin
2010/06/29(火) 13:07:25ID:7ZTRAVs/
くちごたえだけいっちょまえ
454login:Penguin
2010/07/01(木) 20:38:54ID:ff1chlOv
またgdk-pixbuf分離したのかめんどくせえな
455login:Penguin
2010/07/08(木) 13:05:20ID:kV57IwAm
あらっ?PPMの色反転してね?
456login:Penguin
2010/07/08(木) 21:04:54ID:kV57IwAm
ああ勘違いだった、反転フィルタ効いてた
457login:Penguin
2010/07/21(水) 21:06:32ID:eYcae5GB
ValaでGTK+ vs C++でQt
の構図に持って行きたい。
458login:Penguin
2010/07/22(木) 01:58:11ID:PbDDQq9y
valaつかうぐらいなら、gtk#つかうだろ
459login:Penguin
2010/07/22(木) 10:25:07ID:B8+a86z/
いやいや、Valaは良い言語だよ。
実行時に余計なライブラリとか要らないし。
460login:Penguin
2010/07/22(木) 18:59:19ID:P6pQJgjf
gtkbuilder対応もうれしいですね。 > vala
461login:Penguin
2010/08/09(月) 22:35:54ID:FqMSbruc
クリックする度に画像を切り替えようとして以下のようにしたところ、
2枚目の画像は表示されませんでした。
2枚目の画像を表示するには他にどのような処理が必要でしょうか?

#!/usr/bin/ruby
require 'gtk2'

window = Gtk::Window.new
window.signal_connect("destroy") {Gtk.main_quit}

image = []
image[0] = Gtk::Image.new("test.s/sample7.jpg")
image[1] = Gtk::Image.new("test.s/sample8.jpg")
i=0

event_box = Gtk::EventBox.new
event_box.add(image[0])
event_box.events = Gdk::Event::BUTTON_PRESS_MASK
event_box.signal_connect("button_press_event") {
event_box.remove(image[i])
i += 1
i %= 2
event_box.add(image[i])
}

window.add(event_box)
event_box.realize
event_box.window.cursor = Gdk::Cursor.new(Gdk::Cursor::HAND1)

window.show_all
Gtk.main
462login:Penguin
2010/08/10(火) 19:44:28ID:fAaz4maQ
>>461

event_box.add(image[i])
event_box.show_all
とか
463login:Penguin
2010/08/23(月) 22:46:19ID:UjVUUhyV
gtkでサブディスプレイにウィンドウを表示するのはどうやればいいんでしょう?
メインがlocalhost:0.0でサブがlocalhost:0.1になってます。
464login:Penguin
2010/08/24(火) 05:56:03ID:+4na7v6g
それはX用語(GTK+でも)でスクリーンというので
GtkWindowのscreenプロパティに表示したいgdkScreenを入れるんじゃないかな?
465login:Penguin
2010/09/06(月) 00:37:50ID:DZ6K0yAz
GTK#なのですが、.NETのWinFormsでいう、
SuspendLayout()

ResumeLayout()
はどうすればいいでしょうか?
466login:Penguin
2010/09/29(水) 06:17:42ID:Xcx5gfP/
質問です。
GtkBuilderで定義したウィンドウを複数表示するにはどうすればいいでしょうか?
一つだけだったら、gtk_builder_get_objectで取得して簡単に表示出来ます。
467login:Penguin
2010/09/29(水) 07:30:54ID:gR2Kn98z
>>466
GtkBuilder を複数生成すればいいんじゃないの?
自分がよくやるのは、GtkBuilder を複数生成して gtk_builder_add_from_string で定義を取り込み
468login:Penguin
2010/09/29(水) 08:32:23ID:mEXXgo8J
Gtkビルダー?マイクソソフトのC++ビルダーみたいな感じか?
と思って検索しようと思ったが堪えた
469login:Penguin
2010/09/29(水) 18:41:46ID:jeMZvjSG
GTK+のRAD開発ツールってgladeじゃん
470466
2010/09/30(木) 03:18:19ID:oEA2zNJX
>>467
ありがとう。その方法でやってみる。

>>468
GtkBuilderは、以前のlibgladeにあたるもの。
それに、C++BuilderはMSじゃないぞ。

>>469
もちろん、Glade使ってXMLを作成してるよ。
それを読み込むのがGtkBuilder。
471login:Penguin
2010/10/03(日) 23:46:11ID:y5C9HzxD
cairoを使って書かれたゲームとかありますかね?
簡単なものでいいのですが
472login:Penguin
2010/10/04(月) 11:18:38ID:9wJE7nSN
>>471
http://uproda.2ch-library.com/299097YiT/lib299097.c
ダウンロードするとlib299097.cというファイルが出来るからこれをgccでコンパイルすればいい
コンパイルはディレクトリを移動してから
gcc lib299097.c -o cairo_game `pkg-config --cflags --libs gtk+-2.0`
と入れれば通るだろう
./cairo_game
でゲーム開始だ
473login:Penguin
2010/10/07(木) 23:33:21ID:bzqpJyzy
gtkmm使ってもなんか書きにくい
Python使ったら楽かな
474login:Penguin
2010/10/07(木) 23:58:28ID:wQWwIsB3
>>473
余程のものじゃない限り、性能的に問題とはならないと思うから、スクリプトは便利だよ。
まぁ、俺は ruby なんだけど。。。
475login:Penguin
2010/10/08(金) 13:40:09ID:BvF1QbPR
PythonならC++並みに開発環境整備されているし、Ubuntuのアプリも多くが
Python + gtk で開発されているよ。
476login:Penguin
2010/10/08(金) 13:41:57ID:yKf5ENPb
>>474
( ゚∀゚)人(゚∀゚ )ナカーマ
477login:Penguin
2010/10/08(金) 22:26:59ID:ncsyc+ZE
PerlとPythonなら どっちがいいですか?
478login:Penguin
2010/10/08(金) 22:51:53ID:lqYDv+Jp
gtkの開発するなら圧倒的にpython、としか言えんだろこのスレじゃ
479login:Penguin
2010/10/08(金) 22:53:13ID:vwfmsqfo
CだろJK
480login:Penguin
2010/10/08(金) 23:25:32ID:RoG/rFqo
「PerlとPythonならどっちがいいですか?」
「CだろJK」

ぱねぇっす! やっぱハッカーのひとはぱねぇっす!!
481474
2010/10/08(金) 23:53:29ID:YC1HKIpZ
ruby 以外のバインディングの事を知らずに書くけど、今時はどの言語でも GtkBuilder を使えるだろうし、
どの言語がいいか何て、自分にどの言語が合ってるか次第なんじゃないの?
482login:Penguin
2010/10/09(土) 00:01:38ID:BvF1QbPR
>>481
C/C++ 以外では、
gtkが公式にサポートしているのがPython
Gnomeの公式アプリに使われているのがPython
UbuntuやFedoraでデフォルトでインストールされているのがPython
Anjuta等GTK系開発ツールのサポートが一番充実しているのがPython
483474
2010/10/09(土) 00:20:06ID:HCJJF52G
>>482
おぉ、Python は gtk で公式にサポートされてるんだ。
それは、いいねぇ。
ruby も入れてくれんかな。
484login:Penguin
2010/10/09(土) 04:01:15ID:mDHE/CAa
何でみんなPythonが好きなんだ?
忠誠を誓ってるGoogle様が使ってるから、好きなふりをしてるだけか?

そうはいっても本当はPerlが大好きなんだろ?
485login:Penguin
2010/10/09(土) 06:24:12ID:Xt3OjFd+
日本のRuby右翼と同じだと思われたくないから
486login:Penguin
2010/10/09(土) 13:25:25ID:JGqpR3KW
Perlは3日たったら自分の書いたコードでも解読に苦労することがある。
Pythonは30分チュートリアルを読むだけで他人の書いたコードでもスラスラ読めることが多い。
487login:Penguin
2010/10/09(土) 13:39:33ID:3AdxyjT6
それでもボクはCがいい
488login:Penguin
2010/10/09(土) 13:59:17ID:pWZySSkO
            /
        ,'          i                       |
        |   !   |    |     i      |   |     i       |
        |   |   |    |     |       |   |   」_    . :|
        |   |   | : : : :|: :    │ i  . :|  . :|  「 { l:. . : . : . :|
        │  │  : :|: : i _ノ: :  : : ヽ、: :|: : : : |: : : : :/ }| | |: : : : : : :|
        〈::|   │: : 斗‐ 「 │: : : : :.:.| 「:.T ー-|- : : :| l|. l lヘ: : : : : :|    まあ、いやらしい。
          \:::L_」─‐-ンt云、└─- -┘ ィ乏ァ-.、─-:l  l. | ', ヽ: : : : |
         r.、:、:::∧ l∧イ;::::}`         ´{;イ:;::::::}ヾ| }  l  l  } 〉: : : :|
         | |:::::::::ヘ 弋;r:ユ           辷_;:r:.ソ l/  |  |  |,/: : : : :|
         | {、:::::::: ', ´               ̄ /      /│:. : : :|
         ヽ ヾ::::::::::!  " "          " "/          ノ:.: : : : l
          |ヘ ヽ::::::}、     、         /        /: : : : : : : ',
          |: :ヽ \::::`:.、     ヽ_フ   /        /: : : : : : : : : : ヽ
          |: :.:ィ\ \:::::::丶、       {       /|_,.-‐'" ̄ \: ヽ
         / |: : :ヽ  `ー==:≧ 、_   イ|      / /:::::::/       ヽ:.}
        /    l: : : :|       人:::::::::::|      l:.:/:::::::/         ヽ
         |    ヽ: : l        /、  ̄ ̄|      l/:::::::/          |
         |     ∨      /::::::: ̄ ̄ |      |::::::/            |
         |      /      /::::::::::::::::::::::|      l::::::{            |
489login:Penguin
2010/10/10(日) 18:30:46ID:Sp+agnVp
そのAAを壁紙にしたい
490login:Penguin
2010/10/11(月) 18:54:49ID:VGide9Wk
pythonって,vbaみたいな位置付けだな
491login:Penguin
2010/10/19(火) 16:15:51ID:EWnEpHL/
GTK+を使ってプログラムを作ると、MacOSXでボロボロな結果になるから使わないほうがいい。
492login:Penguin
2010/10/19(火) 17:17:34ID:2NWEe5/4
位置づけとは微妙
pythonは、VBAほど腐ってはいないぞ

ところでVBAの近代化って進んでいるのか?
Access VBA甘グラマ供の再利用は由々しき問題ぜよ
493login:Penguin
2010/10/19(火) 19:29:33ID:mjCBYhC0
VBAも.netが使えるっぽいから、近代化進んだんじゃないの?
494login:Penguin
2010/10/19(火) 19:47:43ID:/Nj/keXZ
>>491
どう考えてもGTKが悪いのではなく糞マックが悪いと思うんだが。
495login:Penguin
2010/10/19(火) 19:49:07ID:Ux5sdFhe
どっちが悪いという話はしていないと思う。
496login:Penguin
2010/10/19(火) 20:39:28ID:2NWEe5/4
>>493
そうなの?
http://www.microsoft.com/japan/msdn/vba/
なんて2003年でとまってんだけど、更新が。
497login:Penguin
2010/10/19(火) 21:38:06ID:mjCBYhC0
>>496
[HOWTO] Microsoft Office で Visual Basic for Applications から Visual Basic .NET クラス ライブラリを呼び出す方法
http://support.microsoft.com/kb/317535/ja

こういう事が出来るらしい。
けど一般的じゃないっぽいね。
まぁ互換性失われるし一般的にはならないように感じられるな…
498login:Penguin
2010/10/20(水) 16:42:06ID:dibJXxnt
>>494
GTK+がマルチプラットフォームになるように吸収するんだろ?
だったら、Macは悪くない。

かと云って、「GTK+が悪い」と云うのはおこがましい。
文句云っていいのは、それ相当のものを作れる人だけだ。
499login:Penguin
2010/10/20(水) 16:59:50ID:nkUeeiMO
>>498
「同じようなモノをつくれるひとでなければ批評してはいけない」というのなら

・linuxの○○の部分が悪いといっていいのはOS開発者だけ
・ゲームの○○が面白くないといっていいのはゲーム開発者だけ
・携帯電話の○○が使いづらいといっていいのは端末開発者だけ
・新作映画のストーリーラインを批判していいのは映画監督だけ

そういうのって言論封殺っていわない? オープンソース風土とはだいぶ違う文化じゃない?
500login:Penguin
2010/10/20(水) 17:17:25ID:xVoAed/u
WindowsでもLnFはぼろぼろだよね。
501login:Penguin
2010/10/20(水) 21:35:34ID:9tE6IJS+
osxのgtk+ってx window版とネイティブ版とあるんじゃなかったっけ?
502login:Penguin
2010/10/22(金) 10:57:35ID:i0oNjkXQ
Windows7でも見た目が最悪になるからな。
MacOSXみたいに日本語入力ができないとか絶望的ってほどではないが。
503login:Penguin
2010/10/22(金) 11:53:18ID:r2m3k6+H
Pythonバインドでも同じ問題って起こるの?

今日からPython勉強してGUIなアプリを作ってみようと思っていたのだが・・。
Qtのほうがいいのかな。でも、GNOME使ってるしGtkがいいんだよな
504login:Penguin
2010/10/22(金) 22:39:01ID:T3dIa7zi
そんなあなたにPythonでもC++でもPerlでもokの

wxGlade
http://wxglade.sourceforge.net/

はどうかな?
505login:Penguin
2010/10/24(日) 07:46:05ID:Vhl0qsDm
残念だが、日本語云々の話はWindows1.0のレベルにも達していないというのが現実。
開発体制の問題だろうね。
506login:Penguin
2010/10/24(日) 22:57:17ID:uho4GCjV
酷いと思うけどさすがに1.0はないだろ
それに日本語(2バイト文字)関連はGtkよりQtのが酷いしマシな方
507login:Penguin
2010/10/26(火) 18:03:28ID:XGIO2f11
GtkTreeView内のテキスト(gtk_cell_renderer_text_newで設定したもの)がカラムの幅を超えたら自動的に折り返して次の行に表示するようにできませんかね?
現状はカラムの幅を超えた部分は消えてしまいます。自分で改行を入れた場合は次の行に表示されるので折り返しも出来そうな気はするのですが。
508login:Penguin
2010/10/26(火) 18:05:34ID:O6NRu0pw
http://library.gnome.org/devel/gtk/unstable/GtkCellRendererText.html#GtkCellRendererText--wrap-mode
509login:Penguin
2010/10/26(火) 18:32:48ID:XGIO2f11
>>508
ありがとうございます!
510login:Penguin
2010/11/02(火) 19:29:02ID:0mcR1TdE
TreeView内にGtkCellRendererTextでテキストを表示する場合に、一部の文字だけ色を変えたり太字にしたりすることは可能でしょうか?
あるいはTreeViewにGtkEditableを格納するようなことができればそれでもよいのですが。
511login:Penguin
2010/11/02(火) 19:41:27ID:RVdg5wgR
>>510
pango markupで対応するんじゃね?
512login:Penguin
2010/11/04(木) 13:45:22ID:xBpDemuD
>>511
g_object_set (renderer, "markup","ab<b>cd</b>e", NULL);
とかでできました。ありがとう!
513login:Penguin
2010/11/07(日) 14:39:48ID:qFCSAFkG
GtkTextIterのリファレンス読んでて、iterって単語がいっぱい出てくるけど
これって、日本語に訳すとどういう単語が適切なのかな?
iteratorで「反復子、繰り返しの概念」って出てきて、いまいち意味がつかめず
iterって出てくると、まったくもって意味がわからん。
ググっても、熱核融合炉とか出てくるし…
514login:Penguin
2010/11/07(日) 14:43:10ID:Um+oFuZb
イテレータはイテレータだよ
ループの抽象化
515login:Penguin
2010/11/07(日) 14:57:51ID:qFCSAFkG
>>514
iteratorとiterは、まったく同じと考えりゃいいということ?
516login:Penguin
2010/11/08(月) 06:15:04ID:Wxghvts2
>>515
正確な話は分からないけど、Gtkで出てくる?Iterの類は"位置を指す物"と理解してる。
GtkTextIterでいうと、GtkTextBuffer中のどこかの位置を指す。
イテレータだと、意味するものが広くてピンとこない感じがする。
かといって、訳す場合に他にいい単語があるかは分からない。
517login:Penguin
2010/11/08(月) 06:20:30ID:Wxghvts2
ごめん、文字化けした
"?Iter"は"なんとかIter"ってことね
518login:Penguin
2010/11/08(月) 20:12:16ID:M/miEbwJ
>>516
ものすごく参考にさせていただく。ありがとう。
519login:Penguin
2010/11/09(火) 00:55:32ID:Tw+0pcNe
C++のイテレータはポインタと同じ動作をするものと考えられている。
ポインタのようなものっていう概念が一番しっくり来る。
520login:Penguin
2010/11/13(土) 16:17:20ID:Pqzt35wF
>>519
ものすごく返答が遅くなったけど、感謝します。
521login:Penguin
2010/11/22(月) 02:59:05ID:PS3m5Gby
GTK+のリファレンスを見てると、ところどころに
"… is deprecated and should not be used in newly-written code."
ってのが、出てきます。
「推奨しないし、使うなよ」って意味だけど、どうすればいいの?
公開する予定の無いプログラムだから、無視して使ってるけど。
522login:Penguin
2010/11/22(月) 03:05:51ID:9McU1lSw
他のやり方があるはず
523login:Penguin
2010/11/24(水) 15:54:13ID:euuHJfN4
GtkTreeViewでアクティブなRowをハイライトして色を反転させる
機能を無効にすることはできますでしょうか?
自分の環境ですとアクティブなRowは青い背景に白い文字でハイライト
されてしまいます。
RowのSelected状態は変えることができるのですが、そちらはRowが
Select時に灰色っぽくなるだけで問題ないのです。ハイライトの機能
の方を無効したいです。
524login:Penguin
2010/11/29(月) 21:54:46ID:sMx9z6BS
button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
と、ボタンにアイコンを付けようとしても、アイコンが出てきません。
上の場合、「キャンセル(_C)」というラベルだけ出ます。
メニューバーにアイコンを付けようとしても、アイコンが出ません。
何か欠けてるんでしょうか?
525login:Penguin
2010/11/29(月) 22:14:12ID:lGrvc++f
gtk_button_set_image()の説明に"gtk-button-images"の設定によると書いてあるから調べてみて
526login:Penguin
2010/11/29(月) 22:34:36ID:sMx9z6BS
>>525
ありがとう。今から調べます。
527login:Penguin
2010/11/29(月) 22:58:14ID:sMx9z6BS
他に同じく悩む人がいるとは思えませんが、解決したのでご報告。
525さんにヒントいただいて、devhelp読んで、ググったら下のとこが出た。
http://ubuntuforums.org/showthread.php?t=1135510
ここの逆をやって、アイコンが出ました。ありがとう。
528login:Penguin
2010/11/29(月) 23:22:35ID:OgcvDSer
>>527
つーか、俺もこれずっと悩んでた。
原因が分かってスッとしたよ。ありがとう!
529login:Penguin
2010/11/30(火) 12:55:40ID:M+63bYwL
>>527
ありがとう!!
530login:Penguin
2010/11/30(火) 16:19:03ID:TQa7Ptpz
>>527
なんかよくわかんないけど、オレからもありがとう!
531login:Penguin
2010/11/30(火) 21:51:44ID:o02+ms48
>>527
なんのことかわからんけど、俺からもありがとう!
532login:Penguin
2010/12/01(水) 23:14:33ID:xPo+2HeT
MinGWでWindowsむけにGTK+アプリをクロスコンパイルしている人はいるのだろうか。
Windows上で環境構築せずにすむから楽そうなんだけれど。
533login:Penguin
2010/12/02(木) 00:56:21ID:zqStIY3v
>>532
最近のFedoraはmingw関連のパッケージがたくさん追加されているから
Windows向けのクロスコンパイルは簡単だよ。
534login:Penguin
2010/12/02(木) 08:40:09ID:TtpWl3rj
Fedoraかぁ…。
調べてがんばってみる。
535login:Penguin
2010/12/03(金) 13:50:17ID:G8uZw67f
TreeViewでCellRendererTextで描画してるカラムについてなんですけど、CellRendererTextにwrap-widthを設定した場合、そのカラムをwrap-width以下にリサイズすることができなくなってしまいます。何か回避方法はありますか?

欲を言えばwarp-widthがカラムの幅に対して自動的に変わるようにしたいです。
536login:Penguin
2010/12/03(金) 14:43:06ID:nwQzeTfG
なんかいまいちな気がするけど
http://www.islascruz.org/html/index.php?blog/show/Wrap-text-in-a-TreeView-column.html
537login:Penguin
2010/12/03(金) 16:46:38ID:G8uZw67f
>>536
おお、pythonだけどCでも全然いけそうな対処ですね。
ありがとうございます!
538login:Penguin
2010/12/13(月) 14:42:35ID:GOtpVrpZ
GtkTreeViewで質問です。
gtk_tree_view_set_grid_linesで水平のグリッドラインを表示した状態でcell-background-gdkを使ってセルの背景色を設定しているのですが、色をつけたセルだけグリッドラインが消えてしまいます。何か解決方法ってありますか?
539login:Penguin
2011/01/09(日) 09:14:57ID:urRBMp8d
GTKを利用したプログラミングの勉強をしているのですが、不明な点があり質問させていただきます。

GTKにて作成したウインドウを常に最前面に表示しておきたいのですが、
それを実現するにはどのようにすればよいでしょうか?

ビュアーのようなものを作っているのですが、他の作業をしながらも確認したいため
他のウインドウより手前に表示しておくことが出来ればと考えております。
540login:Penguin
2011/01/09(日) 09:42:27ID:geIJW/Gp
>>539
>GTKにて作成したウインドウを常に最前面に表示しておきたいのですが、

WM(ウィンドーマネージャ)側の設定で、できるんじゃないのかな。
541login:Penguin
2011/01/09(日) 12:54:14ID:98wyOWKO
gtk_window_set_keep_aboveというのがあるが、うまくいくかはWMに依存する
542login:Penguin
2011/01/09(日) 13:28:00ID:urRBMp8d
>>541
ありがとうございます。
うまく動きました。
543login:Penguin
2011/01/10(月) 15:25:42ID:pdeWcU/o
おっさんにもわかるPYTHONの
”ウィンドウを表示するために--クラスを作成する” で

>> self.wTree.add_from_file(os.path.dirname(os.path.abspath(__file__))+"/"+self.gladefile)
のところで
glib.GError: root 要素が間違っています: 'glade-interface'

となり止まってしまいます。どなたか解決方法がわかる方お願いします
544login:Penguin
2011/01/10(月) 16:41:54ID:lxMobblK
しらんが
os.path.join(os.path.dirname(__file__), self.gladefile)
とかな
545543
2011/01/10(月) 17:33:42ID:pdeWcU/o
最初から作り直してわかったんですがgladeのほうの設定がおかしくなってたみたいでした
ご迷惑おかけしました

546login:Penguin
2011/01/11(火) 21:47:15ID:vH5X5SgR
Gtkのアプリケーションを勉強しているのですがわからないことがあります。

TreeViewを利用して、計算結果が順次追加されていくアプリケーションを制作しているのですが、
計算結果が追加されていくに連れて結果を見るにはスクロールが必用になっております。
自動でスクロールを一番下に持って行くにはどのようにすればいいのでしょうか?

理想としては、スクロールが一番下にされていれば、リストが追加されるたびに常に一番下に
スクロールされ、スクロールが途中になっていれば項目が増えてもスクロールは維持。
というふうにしたいです。
ScrolledWindowのset_vadjustmentを利用すればいいことはわかったのですが、
うまく動かすことができません。
547login:Penguin
2011/01/11(火) 23:29:55ID:5lRRaNMx
多分ちゃんとしたやり方ではないけれども http://ideone.com/5B9PD
548login:Penguin
2011/01/12(水) 00:28:52ID:vB7prOwP
便乗質問

gtk.TreeViewColumnで幅を指定しているときにその幅を超える文字列は折り返したいんだけど、オプションが見当たらない。
オプションってないの?
549login:Penguin
2011/01/12(水) 00:47:08ID:5/uHApeb
gtk.CellRendererTextのwrap-width
550548
2011/01/12(水) 18:24:47ID:vB7prOwP
>>549
ありがとう
CellRenderTextのほうで折り返しが設定出来たのか。
考えてみると、確かに折り返すのはTextだね。

関連でもうひとつ質問させてください
TreeViewColumnをset_resizable( True)にしているんだけど、カラムがリサイズされたときはどこのシグナルがでる?
自分なりに捜してみたのだけど、みつからない、。
551login:Penguin
2011/01/12(水) 19:26:21ID:B0eGTMcl
GTKなんて時代遅れ
552login:Penguin
2011/01/12(水) 21:39:01ID:DAHnc8sL
時代はQ'tだってか?www
553548
2011/01/12(水) 21:41:05ID:vB7prOwP
上に同じ質問がありましたね。
検索に出て気づきました。

すみません。ありがとうございました。
554login:Penguin
2011/01/13(木) 18:44:21ID:XeFPXStO
ねらのみなさんに質問させていただきます。

正確にはGTK#なんですがGTK+でもいいです。
ウィンドウを常に最背面に表示する方法はありますか?
検索するとこんなのが見つかったのですが、
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <X11/Xatom.h>
#define WIN_LAYER_DESKTOP 0
#define WIN_HINTS_SKIP_WINLIST (1<<1)
#define WIN_HINTS_SKIP_TASKBAR (1<<2)

#define XA_WIN_LAYER "_WIN_LAYER"
#define XA_WIN_HINTS "_WIN_HINTS"
ーーーーーーーーーーーーーーーーー

/* windowを一番下に置く */
data[0] = WIN_LAYER_DESKTOP;
gdk_property_change(GTK_WIDGET(window)->window,
gdk_atom_intern(XA_WIN_LAYER, False),
(GdkAtom) XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) data, 1);

/* taskbarやwinlistにこのwindowを表示させないようにする */
data[0] = WIN_HINTS_SKIP_WINLIST | WIN_HINTS_SKIP_TASKBAR;
gdk_property_change(GTK_WIDGET(window)->window,
gdk_atom_intern(XA_WIN_HINTS, False),
(GdkAtom) XA_CARDINAL, 32, PropModeReplace,
(unsigned char *) data, 1); 

XA_CARDINALってなんでしょう?? 上記ソース by http://www.host.or.jp/cgi-win/webboard/wb_cont.exe?programing+g+10016+NAME
555login:Penguin
2011/01/13(木) 20:04:15ID:yufk+Tn2
そのURLは叩きたくない

本家にいきましょう
GTK#本家
http://www.mono-project.com/GtkSharp

関連スレ
[Not Gtk+] Gtk#質問スレッド [mono]
http://hibari.2ch.net/test/read.cgi/linux/1294642865/
556login:Penguin
2011/01/13(木) 20:14:13ID:Q+1lsYEj
>>554
荒らしてんじゃねーよカス
557login:Penguin
2011/01/13(木) 20:18:51ID:XeFPXStO
>>556
煽り厨キター
558login:Penguin
2011/01/13(木) 20:20:21ID:XeFPXStO
連投すいません。
本家のフォーラムで聞いてみようと思います。
559login:Penguin
2011/01/14(金) 03:23:12ID:KnKuBbAY
初心的な質問でスミマセンが

pythonでglade3でつくったLabelの内容を変更するには
どう直したらよいか教えていただけますか?
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import os.path
import gtk
import gtk.glade
class counterGTK:
def __init__(self):
self.gladefile = 'var0.1.glade'
self.wTree = gtk.Builder()
self.wTree.add_from_file(略)
# count number
self.number1 = 0
dic = {
"on_clicked1" : self.on_clicked1 ,
"on_clicked2" : self.on_clicked2 ,
"on_window1_destroy" : self.on_window1_destroy }
self.wTree.connect_signals(dic)
self.mainWindow = self.wTree.get_object("window1")
self.mainWindow.show_all()
def on_window1_destroy(self, widget):
gtk.main_quit()
def on_clicked1(self, widget, event=None):
self.number1 += 1
# !!!ここが変と表示が出ます。
self.mainWindow.set_text(str(self.number1))
if __name__ == "__main__":
560login:Penguin
2011/01/14(金) 09:50:28ID:QJfXyK10
プログラム
http://hibari.2ch.net/tech/
561login:Penguin
2011/01/15(土) 22:11:43ID:KQmBhVmm
>>559
set_titleじゃ駄目?
562login:Penguin
2011/01/17(月) 01:04:20ID:VJob0is5
ブラウザやエディタの上で、
マウスカーソルの下にあるテキストを取得する単純な
方法ってあるんでしょうか?ダブルクリックすると反転する単語
を取り込みたいのですが。出来ればトリプルクリックで反転する
一行も一緒に取り込みたいです。


563login:Penguin
2011/01/17(月) 01:09:27ID:VJob0is5
すいません、アプリケーションによって
トリプルクリックでの反転の仕様は違うようですが、

マウス位置が所属するパラグラフ、単語、行を同時にとりこみたいのです。
言い忘れましたが想定する言語は英語などアルファベットのものです。
564login:Penguin
2011/01/19(水) 01:15:17ID:AHjWAb2g
GTK+3.0のリリースが楽しみだなぁ
Windows版とかMac版の出来が気になる
565login:Penguin
2011/01/21(金) 13:29:12ID:oTTqy+gy
>>561
遅れてすみません
self.mainWindow.set_title(str(self.number1))
に直すとウィンドウのタイトル欄の方に表示
おかげで一歩前進できたありがとうございました
566login:Penguin
2011/01/25(火) 22:03:31ID:93ZVq4E+
家計簿のようなものを作りながらPyGTKの勉強をしております。
TreeViewを使ってリストを作成しているのですが、

ID 値段 名前 メモ
1 100 コーラ 自販機
2 200 カルピス 自販機

のようなリストがあるとして、リスト中を右クリックすると編集メニューを出すようにしたいのですが、
右クリックした際にメニューを出す方法や、右クリックした列の値の取得方法がわからず悩んでおります。

どのようなコードで実現できるでしょうか?
567login:Penguin
2011/01/25(火) 22:15:19ID:3NJ+mNNa
>>566
自分で調べる気はないのかね?
http://lmgtfy.com/?q=gtk+treeview+popup+menu
568login:Penguin
2011/01/25(火) 23:38:42ID:93ZVq4E+
>>567
いろいろなワードで調べてみたのですが、見つけることができませんでした。
>>567の検索候補も見てみたのですが、TreeViewで右クリックした時の処理はあるのですが、
右クリックした行の値を取得する方法はありませんでした。
569login:Penguin
2011/01/25(火) 23:55:07ID:p4XnSN29
>>568
テストしてないけど、gtk.TreeView.get_selection()で取れない?
570login:Penguin
2011/01/26(水) 06:42:35ID:n1B9dBtN
VBoxにLabelやEntryをいくつか配置すると高さが全て均等になりますが、高さを設定するにはどうすればいいですか?
571login:Penguin
2011/01/26(水) 08:43:37ID:LEML9YPE
ぴーな?
572login:Penguin
2011/01/26(水) 09:51:05ID:z74Fwadf
GTK+を使ってシリアルポートで自作ハードウェアと通信することは出来ますか?
573login:Penguin
2011/01/26(水) 11:33:09ID:h7bjSSMJ
>>572
自作ハードウェアが動くか知りませんが、「gtk シリアルポート」でググると
アホみたいに検索結果が出てきますが。
http://www.linuxquestions.org/questions/programming-9/gtk-serial-port-communication-313238/
http://sourceforge.net/projects/gcomm/
574570
2011/01/27(木) 04:23:46ID:HXLIqy/B
HBOXでは高さの指定ができないのですかね
575login:Penguin
2011/01/28(金) 11:05:05ID:Gptdpqjn
すいません、教えてください。
ubuntuにて、pixmapにgdk_draw_stringで日本語を表示させたいのですが、文字化け
し、下記のメッセージが出ます。
does not support all the required character sets for the current locale "ja_JP.utf8"
どのようにしたら正常に表示できるようになるでしょうか。
576login:Penguin
2011/01/29(土) 01:44:56ID:6hO1Bdmk
ロケールやフォントを変更したらどうだろうか?
577login:Penguin
2011/01/29(土) 02:07:22ID:l0OT+bD3
gdk_draw_ナントカはdeprecated
cairo使ってね
578login:Penguin
2011/02/01(火) 23:01:59ID:4jG8Kz/p
TreeViewの文字列にURLがあればハイパーリンクにしたいと思っているのですが、TreeViewの文字列を
ハイパーリンクにするにはどのようにすればいいのでしょうか?

579login:Penguin
2011/02/02(水) 20:38:30ID:KRwtVrWu
>>578
g_spawn_command_line_sync()でgvfs-openコマンド呼べばいいんじゃね?
ダメならエラーが返るだろうし。
URLかどうか判断するなら、GRegex使うのが良いのかな?
580login:Penguin
2011/02/12(土) 01:27:29ID:Tq5jzXI4
3.0 releaseしてたんだな
581login:Penguin
2011/02/13(日) 02:06:32ID:Y2lUgTlR
結局、OpenGLは統合されなかったか…
582login:Penguin
2011/02/13(日) 16:56:29ID:q0+Fj2Ij
以下のように画像を表示するだけのプログラムを作成しました。
この画像を表示したまま、プログラムを終了したいのですが、
そのようなことは可能でしょうか。
(他のプログラムに上書きされるまで、プログラム終了後も画像を表示しつづける。)

/* 画像表示領域の生成 */
drawing_area = gtk_drawing_area_new();
gtk_widget_set_size_request( drawing_area,
gdk_pixbuf_get_width( pixbuf ),
gdk_pixbuf_get_height( pixbuf ) );

gtk_container_add( GTK_CONTAINER( window ), drawing_area );

g_signal_connect( G_OBJECT( window ), "delete_event",
G_CALLBACK( close_window ), pixbuf );

g_signal_connect( G_OBJECT( drawing_area ), "expose_event",
G_CALLBACK( expose_event ), pixbuf );

gtk_widget_show_all( window );
gtk_main();
583login:Penguin
2011/02/13(日) 17:17:13ID:CYJdXAks
ウィンドウの×ボタンを押したら隠れるのはすぐできるけど、何がしたいのかよくわからないので教えて
584login:Penguin
2011/02/13(日) 17:45:42ID:q0+Fj2Ij
>>583
説明が少なくてすいません。

X86 Linux PCを使って業務用のシステムを作っています。

PCを起動して、OSが立ち上がったあと、自動で以下の処理を行います。
1)USBメモリが接続されているチェックします。
2)もしUSBメモリがマウントできたらファイル(数百Mバイト)をHDDにコピーします。
3)ファイルコピー完了後に、メインの処理を行います。

2)のファイルコピーに時間がかかるため、その間に「しばらくお待ちください」という静止画を
フルスクリーンで表示したいんです。1)~3)の処理はシェルスクリプトで行い、

#!/bin/bash
(省略)
  |
静止画を表示
cp aaa.bin /temp // ファイルコピー
静止画を消す
  |
メインの処理

という感じでやりたいと考えています。

シェルスクリプトでやるのが最適かどうかわからないのですが・・・。
585login:Penguin
2011/02/13(日) 17:56:06ID:XiVInOjw
で、教えたらお前の給料の何割くれるんだ?
586login:Penguin
2011/02/13(日) 18:14:42ID:ibuao8Zp
プログラム起動→メッセージ表示→シェル実行→シェルの終了待ち→戻り値確認→終了処理
ではダメなん?
587login:Penguin
2011/02/13(日) 18:30:28ID:YWgLFWCD
>>584
商売でオプソ使うのは止めたほうがいいよ
嫌味で言ってるんじゃなくて、法務的な問題が多すぎてメリット無いって
ソースコード開示しろって言われたとき、開示できる仕様なの?
客先とトラブルになっちゃうよ?
止めた方がいいと思うけど
588583
2011/02/13(日) 20:56:45ID:L9k+0hAb
>>584
内容了解。俺だったらこんな感じに実装するけどこでどうかな?
どうしても一回プロセス自体終了する必要があるのであれば
もう少し手を入れないといけないと思う。

スクリプト内のhelloworld.pyは以下のもの
http://www.pygtk.org/pygtk2tutorial/examples/helloworld.py

#!/bin/bash
${PWD}/helloworld.py &
GTKPID=$!
sleep 10
kill ${GTKPID}
exit
589login:Penguin
2011/02/13(日) 23:32:30ID:q0+Fj2Ij
>>588
ありがとうございます。
なるほど、そのようなやり方があるのですね。

非同期のプロセスで画像を表示し、
ファイルコピーが完了したら
プロセスをkillするということで理解しました。

私の思っていることが出来そうです。
たいへん勉強になりました。

>>587
同僚の仕事を楽にするために、手伝っています。
今回の件のソースは公開しても全然問題ないのですが、
今後は気をつけようと思います。

以上、ありがとうございました。
590login:Penguin
2011/02/15(火) 00:33:40ID:yHAzvg6R
http://sourceforge.jp/magazine/11/02/14/0318203
2年ぶりのメジャーリリース、「GTK+ 3.0」が登場
2年ぶりって…
訳も適当だし、なんか寂しいリリースだな
591login:Penguin
2011/02/19(土) 17:26:47ID:7Kan848G
PyGTKを使っているのですが、TreeViewのデータを更新したいのですがどのようにすればわからず苦しんでおります。

行いたいことは、
TreeViewに(ID,TEXT)というカラムありデータが羅列しています。
そのIDを指定してTEXTの内容を変更したいのですが、どのようにすればいいでしょうか?

どうかご教授頂ければと思います。
592login:Penguin
2011/02/20(日) 22:47:31.70ID:9P4zTjVT
>>591
簡単に言うと、TreeStoreのIterを対象のところ(ID)まで移動して、
tree_store_set()を行う。
http://library.gnome.org/devel/gtk/unstable/TreeWidget.html#id895991
593login:Penguin
2011/02/20(日) 22:55:37.60ID:i278BMok
(´・ω・`)ご教示だろ
594login:Penguin
2011/02/20(日) 22:59:25.78ID:AtCPi59r
女教授だって
595login:Penguin
2011/02/28(月) 09:54:32.03ID:TADfIJ7a
http://hibari.2ch.net/test/read.cgi/unix/1294818791/
596login:Penguin
2011/03/06(日) 02:46:29.22ID:fhS84NZT
スレ違いであれば申し訳ないございません。

LinuxでGTK+を使ってアプリを作成しています。

Windowsで言うグローバルホットキーを実装したくて色々調べたのですが該当するページが見つからず途方にくれています。

GTK+にはRegisterHotKey()に当たる関数はないのでしょうか?
また、Linuxでグローバルホットを実装する方法があればご提示お願い致します。
597login:Penguin
2011/03/06(日) 04:33:17.56ID:tsVY1dm+
>>596
gtk hotkey でググったら、一発ですが探してないの?
598596
2011/03/07(月) 03:13:28.76ID:PnCjIDjh
>>597
すいません、ググり方が少し違ったようで・・・
「Linux プログラミング ホットキー」などで探していました。
ご指摘頂いたワードで検索した結果なんとか行けそうです。
本当にありがとうございました。
599login:Penguin
2011/03/08(火) 11:03:24.04ID:d1JzSVeD
検索って難しいよね。目的の情報に準じた予備知識があって
適切なキーワードを選択できてはじめて探し当てられる。
600login:Penguin
2011/03/08(火) 12:59:49.88ID:a0IyugMv
>目的の情報に準じた予備知識があって

あるある。だいぶ知恵ついてくると簡単に検索できるようになるけど、初めての分野だと一向にヒットしない

よく初心者スレで「検索しても見つかりませんでした」「○○で検索すればすぐみつかるだろksg」
みたいなやりとり見るけど、正直初心者にはムリだよな…と思ったりもする。放置するけど

今度またググル先生がアルゴリズム変えるらしいけど、こういった点では改善がみられるかなあ…
601login:Penguin
2011/03/08(火) 19:26:19.05ID:tKbotCXi
3.0.0になってLnFはなんか変わった?
右側に0ナンバーが多いものはなんか怖いから、まだ試してない。
602login:Penguin
2011/03/13(日) 21:58:33.68ID:Vqq2M10I
valaつかっているひといますか?
603login:Penguin
2011/03/13(日) 23:48:32.57ID:u6WvClB5
>>602
http://hibari.2ch.net/test/read.cgi/linux/1246771919/
604login:Penguin
2011/03/17(木) 17:02:45.22ID:+oBUwr3N
質問です。pygtkを使っています。
gtk.TextViewの背景色を変更するにはどのようにすればよいでしょうか?
605604
2011/03/18(金) 15:07:37.88ID:hYpmyKaN
自己解決しました。 modify_base(state, color)で変更できました。
606login:Penguin
2011/04/29(金) 21:13:49.14ID:8r02bpAR
squeeze gtkmm 2.4 gtkglextmm 1.2 pthread でプログラムを作っているんだけどプログラムの終了
時に以下のエラーが出るようになってしまいました。同じようなエラーを経験した方は居ませんでしょ
うか?

glibmm-CRITICAL **: Glib::ObjectBase* Glib::wrap_create_new_wrapper(GObject*): assertion `wrap_func_table != 0' failed
glibmm-WARNING **: Failed to wrap object of type 'GdkScreenX11'. Hint: this error is commonly caused by failing to call a library init() function.
607606
2011/04/30(土) 22:26:19.43ID:VyP2E163
自己解決しました。何でコンパイルが通るんだ・・・


Gtk::Main kit( argv, argc );
Gtk::GL::init( argv, argc );


Gtk::Main kit( argc, argv );
Gtk::GL::init( argc, argv );
608login:Penguin
2011/05/02(月) 11:45:41.61ID:izX8cIkn
通らない理由がないからな
609login:Penguin
2011/05/03(火) 00:46:43.55ID:WBrmWZ0j
>>607
試してみたら普通にコンパイルエラーになる。
それと関係無いけど、gtkmmは中々むずいよ…

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));
void AppWindow::on_quit_action_activated()
{
Gtk::Main::quit();
}

とあるコードの一片だけど、敷居が高いというかなんというか…
そんで今はValaを使ってる。Valaだと↓こんな感じ。

var quit_action = builder.get_object("action_quit") as Gtk.Action;
quit_action.activate.connect(() => { Gtk.main_quit(); });
610login:Penguin
2011/05/03(火) 18:07:59.69ID:6MgTkiYn
>>609
コンパイルが通る方は適当に作った変数を食わしてたんだけど何故か逆にしてもコンパイルが通る
今は書き直して本物のargc,argvを入れています。

valaか~・・・ドキュメント多い?
611login:Penguin
2011/05/07(土) 08:45:48.59ID:dGkArH/V
Valaは日本語のまとまったドキュメントは皆無だね。
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw
612login:Penguin
2011/05/11(水) 17:31:43.03ID:ZkP/smDq
gtkで音楽を鳴らすことは出来ますか?
どうすればいいでしょうか?
613login:Penguin
2011/05/11(水) 21:14:23.65ID:lC/0GEj9
できません
614login:Penguin
2011/05/11(水) 21:50:59.78ID:TI/wHkRV
音楽の方はGTKとは関係ないんじゃないかね?
とりあえずALSA APIとか調べてみては?
615login:Penguin
2011/05/14(土) 12:57:13.28ID:z2Mrc21j
すいません
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?
616login:Penguin
2011/05/14(土) 13:14:39.16ID:5Yfumgbf
板の名前を100回読読んで最後にサーをつけてみやがれ糞ども
617login:Penguin
2011/05/14(土) 16:45:40.19ID:lAxQi/en
>>615
プログラム板にスレがあるよ
そっちで聞けば回答がもらえるかもしれない
こっちの質問は撤回して向こうへ行くといい
618login:Penguin
2011/05/14(土) 18:54:06.07ID:ndPfVk8h
>>615
http://masaya.w32.jp/?p=463
http://masaya.w32.jp/?p=470
http://masaya.w32.jp/?p=476
http://masaya.w32.jp/?p=482
619login:Penguin
2011/05/14(土) 19:17:02.73ID:z2Mrc21j
>>617
ありがとうございます
でも、やっぱりwindowsだと面倒くさそうなのでLinuxでやることにしました
そこでまた問題があるのですが
(PDF注意) http://www.iim.cs.tut.ac.jp/~sugaya/books/GUI-ApplicationProgramming/files/GTK-book-chapter2.pdf
ここに載っているサンプルプログラムをコンパイルしたら以下のエラーが出たのですがどうすればいいのでしょうか?

package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
image-viewer.c:1:21: fatal error: gtk/gtk.h: そのようなファイルやディレクトリはありません
compilation terminated.

環境はUbuntu11.04です

>>618
ありがとうございます
でも僕Python3をつかってるので・・・
620login:Penguin
2011/05/14(土) 19:25:22.37ID:Obe5d9n3
>>619
どうすればいいのでしょうかって、どうすればいいのか自分で貼り付けてるじゃん。
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable

あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。
621login:Penguin
2011/05/14(土) 20:04:20.32ID:z2Mrc21j
>>620
すいません。以後気をつけます
それとパスの通し方がわかりません・・・linuxはあまり触ったことがないので
622login:Penguin
2011/05/14(土) 20:55:58.32ID:Jq7jXtDN
Linuxだと面倒臭くない、という理由だった人間がパスの通し方もわからんとか…
世の中なめてんのか?
623login:Penguin
2011/05/14(土) 21:05:27.10ID:z2Mrc21j
すいません。日本語でおねがいします
624login:Penguin
2011/05/14(土) 21:20:41.50ID:Jq7jXtDN
LinuxでGTK+プログラミングしようって人間が日本語でないとだめって…
世の中なんめてんのか?
625login:Penguin
2011/05/14(土) 21:28:54.65ID:agWK3k8h
ごめん俺も英語ダメ
出来るだけ日本語の情報があるとうれしいw
626login:Penguin
2011/05/14(土) 21:35:13.28ID:z2Mrc21j
>>624
親のすねかじってるお前よりマシだよハゲ
627login:Penguin
2011/05/14(土) 21:45:25.94ID:Jq7jXtDN
              ,,,,,,,,,,,,,,,,,,,,
             /": : : : : : : : \
           /-─-,,,_: : : : : : : : :\
          /     '''-,,,: : : : : : : :i
          /、      /: : : : : : : : i     ________
         r-、 ,,,,,,,,,,、 /: : : : : : : : : :i    /
         L_, ,   、 \: : : : : : : : :i   / Yahoo!翻訳したら
         /●) (●>   |: :__,=-、: / <   負けかなと思ってる
        l イ  '-     |:/ tbノノ    \
        l ,`-=-'\     `l ι';/       \ 英語がだめな24・男性
        ヽトェ-ェェ-:)     -r'          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ヾ=-'     / /
     ____ヽ::::...   / ::::|
  / ̄ ::::::::::::::l `──''''   :::|
628login:Penguin
2011/05/14(土) 22:10:07.52ID:TqodLHpv
GTK以前にOSで躓いてるのか。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。
629login:Penguin
2011/05/14(土) 23:47:30.17ID:agWK3k8h
プログラミング系の英文を翻訳したらわけが分からなくなる
原文でわけが分からない方がましなくらいにね・・・

それとは別に ID:z2Mrc21j はもっと謙虚になるべき
下地が出来ていないし質問する場所が悪いし何を聞いたらいいか分かっていない気がする

何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも
630login:Penguin
2011/05/14(土) 23:48:21.53ID:wLtMCrHN
>>621
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。
631login:Penguin
2011/05/15(日) 13:51:59.78ID:cCRv4Dbr
>>619
aptitude install libgtk2.0-dev
gcc `pkg-config --cflags gtk+-2.0 --libs gtk+-2.0` image-viewer.c
632login:Penguin
2011/05/15(日) 20:44:42.05ID:CFcmlqIg
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな
633login:Penguin
2011/05/15(日) 20:59:22.40ID:WCLbHSMZ
それにしてもスレ違いの質問は認めちゃだめだろw
グダグダになるぞw
634login:Penguin
2011/05/15(日) 21:13:58.77ID:CFcmlqIg
グダグダにするぞ!の間違いだろw
635login:Penguin
2011/05/15(日) 21:17:53.35ID:UHIJLo/l
libgtk2.0-devをインストールしてなかったわ コンパイルできた
636login:Penguin
2011/05/15(日) 21:22:41.40ID:3m8/J1/j
>>635
怒るでしかしwwww
637login:Penguin
2011/05/15(日) 23:53:02.86ID:IS7vzHtp
>>634
1. パスの通し方でからんでるアホ
2. スレ違いのグダグダにからんでるアホ
3. >>637 このレス

同レベル。
638login:Penguin
2011/05/16(月) 06:50:27.01ID:HgEV0miS
Gentooを使うとみみっちい*-devパッケージなんかで
悩まされずにすむんだけどなあ
639login:Penguin
2011/05/17(火) 07:03:27.38ID:17NbAwxj
HTML5バックエンドにはびびった。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。
640login:Penguin
2011/05/18(水) 01:14:48.22ID:zz1Ry4tA
既存のGTK+アプリケーションを応用したクラウドサービスの予感
641login:Penguin
2011/05/24(火) 08:34:07.83ID:KqvnTjTM
GTK+2で、Cairoを用いて一回の描画に非常に時間がかかるもの(例えばマンデルブローとか)を描画して、
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。
642login:Penguin
2011/05/24(火) 17:28:30.93ID:ob7Yh9v7
GdkPixmapに描画して、ウィンドウ再描画のときはそこから転送する。

むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。
643641
2011/05/24(火) 17:47:47.35ID:SHDVYoHh
>>642
ありがとうございます。
使ってる言語のバインディングが+2用なので仕方なく+2を使ってますが、今から使うアプリに
GdkPixmapは使いたくないので、他に手段ないでしょうか?
+2でも、CairoのSurfaceをGdkWindowにコピー?できるのが理想なんですが。

ちなみに、+3では
http://developer.gnome.org/gtk3/stable/ch25s02.html#id1407324
によればCairoのSurface使えってことだと思います。
644login:Penguin
2011/05/25(水) 22:49:33.40ID:ypXSp7WE
>>643
http://zetcode.com/tutorials/cairographicstutorial/cairoimages/
の「Blind down effect」でできるようですよ

簡単に要約すると
関数cairo_image_surface_createでオフスクリーンなsurfaceを作って、そこに落書きし、
eexposeイベント内で関数cairo_set_source_surfaceを呼び出して落書き結果をコピーするという方法だそうです
645login:Penguin
2011/05/26(木) 01:09:20.52ID:/us7JkTi
GTK+3とかマジ迷惑なんですけど。
646641
2011/05/28(土) 02:19:42.28ID:cDNuTVbD
>>644
ありがとうございます、それでやってみます。
647login:Penguin
2011/05/29(日) 20:26:57.86ID:zJJLH/V3
GtkTableにアタッチしたウィジェットのパディングを変更したいんですが
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。
648login:Penguin
2011/05/31(火) 20:26:42.71ID:Bc3stUR8
>>647
GtkAlignmentでどうですか?
例えば、GtkButtonのパッディングを変更できるようにしたいなら、

button = gtk_button_new_with_label( "Button 2" );
align = gtk_alignment_new( 0, 0, 0, 0 );
gtk_container_add( GTK_CONTAINER( align ), button );
gtk_table_attach( GTK_TABLE( table ), align , 1, 2, 1, 2, GTK_SHRINK,
GTK_SHRINK, 0, 0 );
でButtonを登録し、

gtk_alignment_set_padding( GTK_ALIGNMENT( align ), 5, 5, 10, 10 );

で調節します。
649648
2011/05/31(火) 20:30:44.34ID:Bc3stUR8
>>648の追記です。
参考にしたURLは
http://www.gtkforums.com/viewtopic.php?t=3220
です。
650login:Penguin
2011/06/02(木) 12:20:53.31ID:9ZkW8466
>>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです
651login:Penguin
2011/06/03(金) 01:41:05.64ID:UsW+bpf/
http://hibari.2ch.net/test/read.cgi/tech/1253450199/
652login:Penguin
2011/06/04(土) 06:32:58.20ID:DoiP0avE
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。
653648
2011/06/04(土) 17:42:05.97ID:lYXnt5Pq
>>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。

ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません
654login:Penguin
2011/06/05(日) 12:08:13.55ID:2//sPV3W
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも

ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
655648
2011/06/06(月) 22:48:57.79ID:Rnm0L+uO
>>654
>>childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
なるほど、そういうことなんですね。

ところで、解像度の変更イベント処理はGdkScreenのsize-changedイベントで処理できます
参考URLは
http://www.gtkforums.com/viewtopic.php?p=3643
です。

それとテーマの変更イベントですが、すみませんが僕にはわかりませんでした。
下記のURLによると、テーマ変更時に変化するオブジェクトのイベントを
すべて監視すればいいらしいのですが…
http://www.gtkforums.com/viewtopic.php?f=3&t=3829&p=10165&hilit=theme+change+event#p10165

656login:Penguin
2011/06/06(月) 23:39:42.74ID:X0ciCI4s
>>655
ありがとうございます

テーマの方はこんな感じでできそうですね
ちょっと試してみます
https://garage.maemo.org/plugins/ggit/browse.php/?p=modest;a=commitdiff;h=5879161f031517a16b4c516e90700b647cb62b1e
+ g_signal_connect (G_OBJECT (instance), "notify::style", G_CALLBACK (on_notify_style), (gpointer) instance);
657login:Penguin
2011/06/09(木) 00:26:33.80ID:z+T6y5Hb
UbuntuLinuxを使っていると、
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?
658login:Penguin
2011/06/10(金) 23:26:43.28ID:PqNxIzez
>>656
私のほうでも試して見ましたが、
それでテーマ変更イベントの検出はできるようですね。
しかし、notify::styleイベントがgtkリファレンスに見つからないw
何のイベントなんだろう?

>>657
ラブハンドルになるアプリ名とならないアプリ名を書けば、
誰かが調べてくれるかも?
659 忍法帖【Lv=5,xxxP】
2011/06/12(日) 17:23:21.85ID:JGUSf8uW
俺のためのスレはココですか?
660login:Penguin
2011/06/12(日) 17:46:23.37ID:Nl9cfmmH
>>659
いいえ、違います。
661login:Penguin
2011/06/22(水) 01:11:00.53ID:c+3U0RiB
debhelpを日本語化するプロジェクトはもう立ち上がっているのでしょうか?
662login:Penguin
2011/06/22(水) 01:11:44.45ID:c+3U0RiB
devhelpです
663login:Penguin
2011/06/28(火) 00:26:26.50ID:eerWK6Uv
http://mugtug.com/sketchpad/
↑これ有名なHTML5のデモだけど、
http://blogs.gnome.org/alexl/2011/04/18/broadway-update-3/
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!
664login:Penguin
2011/07/01(金) 01:05:56.23ID:GKt7GreK
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い
665login:Penguin
2011/07/01(金) 01:22:39.19ID:qaXNzYOT
>>664
gitのログ見たけど更新しまくってね?リリース見ても5月中にも
pycairoとかcairommとかバインディング関係が更新あるしcairo自体は既に成熟期だろ
それとIDが惜しい
666login:Penguin
2011/07/03(日) 08:27:55.42ID:xZFICtED
http://lists.cairographics.org/archives/cairo-commit/2011-June/thread.html
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。
667login:Penguin
2011/08/01(月) 00:38:35.73ID:rgARQ4qL
GtkDrawingArea を自分で XCreateWindow して作りたい時ってどうすればいいか教えてください。
668login:Penguin
2011/08/02(火) 00:30:46.57ID:px2Xwp7s
自己解決した。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。
669login:Penguin
2011/08/22(月) 09:44:31.31ID:56fggY27
GtkEntryCompletion のポップアップの最大高さ?を設定する方法おしえてくだしあ
GTK+プログラミング->画像>7枚
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます
670login:Penguin
2011/08/22(月) 12:32:55.24ID:GUjzssRW
そんなAPIは無いように見えるから
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ
671login:Penguin
2011/08/23(火) 10:55:05.34ID:fF4RpR06
>>670ありがとうございます。
_GtkEntryCompletionPrivate構造体の定義がわからないので諦めました
672login:Penguin
2011/08/24(水) 18:38:06.52ID:CLJ7sudj
g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?

例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか

初歩的な質問かもしれないけど,お願いします
673login:Penguin
2011/08/24(水) 18:57:38.20ID:tAkTiKbP
>>672
構造体とか使って渡したいデータを1変数にまとめて、
コールバック関数にはその構造体のポインタ渡すのはどうかな
http://pastebin.com/UXyRbuJf
674login:Penguin
2011/08/24(水) 19:04:11.50ID:CLJ7sudj
>>673
ありがとうございます

やっぱりそれしか無いですか...
なんで可変じゃなくてわざわざ一個だけなんだろうなあ
675login:Penguin
2011/08/24(水) 19:10:25.09ID:tAkTiKbP
自分でラッパー書いて、可変引数版のg_signal_connectを自由につくってもいいのよ~

一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う
676login:Penguin
2011/08/24(水) 19:20:10.95ID:CLJ7sudj
>>675
調べてみると可変引数って色々問題あるんですね,知りませんでした
ラッパーって言葉も今知りました

勉強になります
677login:Penguin
2011/08/24(水) 19:40:28.68ID:fAbet21j
>>672
・そのEntry3つをGHashTable につっこんどいて それをコールバックの引数にする
・そもそもGtkBuilderオブジェクトでつくったUIなら それをcbの引数にする
 GTK_ENTRY (gtk_builder_get_object (builder, "ボタンの変数名")) で取れる
・前もってそれぞれのEntryにgtk_widget_set_name(entry,"しきべつめい")しといて
 gtk_container_get_children (GTK_CONTAINER (window)) で取れる GList をcbの引数にする
 cb関数側でg_list_nth_data つかって先頭からアクセス、gtk_widget_get_name(entry)でとれる名前を確認しながら扱う

三通り思いつきました、どうでしょうか?
678login:Penguin
2011/08/25(木) 00:14:37.53ID:IvAnECIo
2.0用コードを3.0でコンパイルしたら、gdk_pixuf_render_to_drawable()で問題発生しました。

main(){
gtk_init(NULL,NULL);

GdkPixbuf* pixbuf;
GtkWidget* image;

gdk_pixbuf_render_to_drawable(
pixbuf,
image->window,
image->style->fg_gc[GTK_STATE_NORMAL],
0, 0, 0, 0,
100,
200,
GDK_RGB_DITHER_NONE, 0, 0
);
}

gtk+-3,0でコンパイルすると、image->window, image->style, GDK_RGB_DITHER_NONE、の3箇所がエラーになってしまいます。
だれか解決してください。
679login:Penguin
2011/08/25(木) 07:33:21.51ID:3JebkG67
3.0の方針として、直接メンバー変数にアクセスしない事になったんで、
それぞれ、set_window, get_window みたいなアクセサ経由に変更すればOK
680login:Penguin
2011/08/25(木) 08:20:25.79ID:Yioj7fNN
>>678 下記サイト 中段 "GdkDrawable is gone" によると
「GTK+3において GdkDrawable,GdkPixmap,GdkImage は削除された。代わりに cairo_surface_t,GdkPixbuf を使え」
とあります。承知の上での質問でしたらすいません
http://developer.gnome.org/gtk3/3.1/ch25s02.html
681login:Penguin
2011/08/25(木) 15:58:01.07ID:67oz2wuj
>>677
GHashTableを使うのが一番楽そうですね
参考になりました,ありがとうございました
682login:Penguin
2011/08/26(金) 09:59:15.55ID:lIEWgrKL
dat復帰しろ
683login:Penguin
2011/08/26(金) 18:45:59.14ID:miWeYAjd
>>679,680
どうやらgtk+3は描画の高レベル部分をcairoに置き換えたがってるようなので、
素直にgdkによる描画をcairoで書きなおすことにします。
684login:Penguin
2011/08/27(土) 18:18:33.00ID:rt71f+c2
まーたスレ一覧㌧㌦
GTK+プログラミング->画像>7枚
今日はグラフを書く練習をしました。部品化はまだ先が遠いなあ orz
685login:Penguin
2011/08/30(火) 03:41:36.85ID:KLnazqo8
GTK+2で使用可能な2D plotterにはどんなものがありますか?

GTK+3にも移行できそうなものでオススメがありましたら教えてください
686login:Penguin
2011/08/30(火) 10:24:20.53ID:5PScM+cr
あんたの言う「2D plotter」とは何なのかをもうちょっと調べなさいよ
「大判プリンター」で目的に合うならこちらを勧めるよ
どうしてもプロッターならその理由が判らないと始まらないし
GTK関係ない話にもなる
687login:Penguin
2011/08/30(火) 10:55:15.61ID:9Gn96LUV
ベクトルDrawとかのライブラリの亊じゃね?
gnuplotとかmatplotとかそういうの。
わからい人にはグラフ書くライブラリって言ったほうがいいのかな?
688login:Penguin
2011/08/30(火) 11:18:58.63ID:KLnazqo8
仰る通りライブラリのことです、GUIプログラミングのスレでの発言ですからね
それじゃ調べたものを書きますね
・plplot5.9.6
 古い環境を意識してるのか8-bit色制限?cairoが普通に扱えて且つPostScriptも吐けて好印象
 ただ関数群が使いにくい印象
・GtkExtra3.0.1(beta) の GtkPlot
 こちらはdemoを動かしただけですが若干もっさり描画?
 cairoすらwrappingしてるからからか?

他にあればそれも検討してその上で使うものを決定したいのです
689login:Penguin
2011/08/31(水) 00:52:22.06ID:n3SEIKnI
http://stackoverflow.com/questions/915940/python-plotting-libraries
http://wiki.python.org/moin/NumericAndScientific/Plottinghttp://wiki.python.org/moin/NumericAndScientific/Plotting

最近だとRとか使ってるイメージはあるけど
この辺昔からあるからね。どうしてもラッパーライブラリは多くなっちゃうよね

Q: Does pychart support Windows?
Yes. But you need to install Python and Ghostscript beforehand.

pychartとかどうかな日本の人だよ名前から判断すると
690login:Penguin
2011/08/31(水) 15:52:48.56ID:STiWeB5m
>>689
ありがとうございます。出来ればCで使えるGTK+のwidget又はcairo_tに描画できるものでお願いします。。
グラフの枠,軸ラベル,グラフ自身,凡例
これらを書ける関数が用意されてると嬉しいです。cairoでガリガリ書く奴はgnome-system-monitorを参考にして
書きましたが何か違うなと感じました、「もっと楽できるものあるだろう」と

Rって言語は初めて知りました。R-devel入れてみましたが GtkDrawingAreaやcairo_tに書く方法が判らず断念しました
pychartはpython使う時は使ってみようと思います
691login:Penguin
2011/09/06(火) 20:57:43.09ID:JODXyz/L
gtk_image関連で、プログラム内でファイルを指定して画像を用意する関数はありますか?
gtk_image_new_form_fileなどのように起動するときに指定するのではなく
プログラム内で指定したいのです
692login:Penguin
2011/09/06(火) 21:09:41.30ID:h7bDDi3V
get_image_set_from_file
693login:Penguin
2011/09/06(火) 23:45:05.53ID:JODXyz/L
>>692
すみません、それの具体的な使い方を教えてもらえないでしょうか?
その後に続く()の中には何を入れればいいのでしょうか?
devhelpを見ましたが、書いてある通りに入れるとコンパイルエラーが出ます

gtkwidget *image;
image = gtk_image_set_from_file (GtkImage *image,
                    const gchar *filename);

↑の*filename のところにファイル名を入れるのでしょうか?例えばaaa.png等
*imageのところも何か入れるのでしょうか?
694login:Penguin
2011/09/07(水) 00:10:39.05ID:OQwTGmux
gtk_image_new_from_fileでなんでだめなの
695692
2011/09/07(水) 00:54:07.56ID:QF3RPTD4
>>693
get_ じゃなくて gtk_ ね。俺の書き間違い


http://wingtk.sourceforge.net/ishan/sliders.html
ページ内で gtk_image_set_from_file で検索して
696login:Penguin
2011/09/07(水) 01:59:10.86ID:T6UTzAz+
>>693
gtk_image_set_from_file()使ってjpegでぱらぱら漫画作った
git clone git://git.pf.sourceforge.jp/gitroot/k/ke/kemeco/parapara_manga.git

いっしゅのモーションJPEGwww
697login:Penguin
2011/09/07(水) 11:01:37.48ID:s/CIYWHm
>>696
何かの折にヘッダファイルとして使わせてもらいます
698login:Penguin
2011/10/03(月) 10:40:33.28ID:DltdAdh6
>>696さんのリストを一部改変してボタンを押されたら次の画像を表示するというふうにしたいのですが
上手くいきません
ボタンのシグナルコネクトをflipという関数に接続したのですが
関数が反応してないようです
どうすればいいか教えてください
改変したリストです↓
http://www1.axfc.net/uploader/Sc/so/280374.c
699login:Penguin
2011/10/03(月) 10:45:19.78ID:DltdAdh6
すいません、元のリストをアップしてしまいました
正しくはこちらです(ファイル名をimage2.cに変えました)
http://www1.axfc.net/uploader/Sc/so/280375.c
700login:Penguin
2011/10/04(火) 05:43:43.88ID:OMJjY+ZZ
>>700
ちょちょと換えてみたから見てみて
http://www1.axfc.net/uploader/Sc/so/280675.c
devhelpってヘルプビューア入れて GtkButtonの説明読むのおすすめ
「The "clicked" signal」 てとこにclickedシグナルハンドラのシグネチャが書いてあるよ
>>699が元々書いてたハンドラとシグネチャが一致してなかったみたい

それと初回クリック時の画像ファイルインデックスは0番じゃなくて1番にしといた
701login:Penguin
2011/10/04(火) 05:45:48.43ID:OMJjY+ZZ
指示レス番まちがえたけど  訂正しねーよ!(我が家杉山)
702login:Penguin
2011/10/04(火) 12:32:09.76ID:VseFFwAj
>>700
動きました、どうもすいません
703login:Penguin
2011/10/04(火) 22:44:16.96ID:OMJjY+ZZ
謝る必要はこれっぽっちもないけど
「動けばいい」とかいう低い志は捨てようや
704login:Penguin
2011/10/17(月) 00:11:29.94ID:OFrElfAX
ボタンを押されたときに、シグナルコネクト先を変更したいのですが
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?
705login:Penguin
2011/10/17(月) 03:57:34.59ID:jBv5AccH
>>704
> if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)

コード見ていないので確かなことは言えませんが、
g_signal_handler_disconnect()とg_signal_connect()を使えばきっと出来ますよ(やってみたら出来た)
code snippestでも貼ってくれたらアドバイスもできたかと思いますが情報が不足していましたので
「ボタンを押されたら、シグナルコネクト先を変更する」というサンプルを書いてみました。ので参照みて下さい

http://www1.axfc.net/uploader/Sc/so/284339.c

main関数内とハンドラ内で共用する変数についての渡し方は
・g_object_set_data()を利用して渡す方法
・g_signal_connect()の最後の引数にGHashTableを指定して渡す方法
・大域変数として宣言しておく方法(この程度の場合は悪手かな?)
の3通り思いつきましたが1番目の案で記述しました。書き方はいろいろあります
706login:Penguin
2011/10/17(月) 17:36:59.12ID:OFrElfAX
>>705
ご親切にありがとうございます
解読してみます
707login:Penguin
2011/12/26(月) 12:41:35.30ID:Jg1bu6au
GTKとcarioとpangoの関係を教えて下さい
708login:Penguin
2011/12/27(火) 02:22:40.60ID:4qSP4mDf
なんと、全部文字数が奇数です。
709login:Penguin
2012/02/12(日) 21:52:16.17ID:vrKTadjR
http://toro.2ch.net/test/read.cgi/tech/1329023778/
710login:Penguin
2012/03/13(火) 01:46:49.13ID:3Ugm7oRN
ウィキ作った
http://monobook.org
711login:Penguin
2012/03/13(火) 23:30:30.92ID:XEqUJYrf
ぼくもつくろっと。
712login:Penguin
2012/03/20(火) 06:02:28.11ID:jPw9I0u0
http://cairographics.org/
http://cairographics.org/news/cairo-1.11.4/
ぬぉ!死んだと思っていたcairoに新バージョンのニュースが!
FirefoxはLinux版も自前のOpenGLレンダラーに移行しつつあるから、
今更4倍速くなったって言っても悲しいけど、GTK+は間違いなくかなり速くなりそうだ。
713login:Penguin
2012/03/25(日) 06:47:03.05ID:Bt4mNkdj
http://cairographics.org/news/cairo-1.12.0/
cairo-1.12.0がリリースされた。18ヶ月ぶりのメジャーバージョンアップらしい。
個人的にはGTK+の描画がどれだけ高速化されたかが気になるな。
714login:Penguin
2012/03/25(日) 09:54:04.27ID:1P7W2wf1
>>713
>どれだけ高速化されたかが気になる

cairoで何をしようとしてるの?
715login:Penguin
2012/03/25(日) 18:58:57.29ID:3RGnGf+l
何をしようとしてるかが関係あるの?
716login:Penguin
2012/03/25(日) 21:27:14.92ID:rI7Awxch
正直に白状するが、
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。
717login:Penguin
2012/03/25(日) 21:35:56.39ID:FgoOLGO6
あと、ラジオボタンとか、配列可して、コールバック関数を一つに
まとめる方法もわからないまま
一個一個書いてます。
とほほ
718login:Penguin
2012/03/28(水) 08:35:06.02ID:ThQeaUjt
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?
719login:Penguin
2012/03/28(水) 11:02:58.95ID:he0UMBAC
GTK+はEmacsで使われています
720login:Penguin
2012/03/28(水) 20:02:18.92ID:ThQeaUjt
GTK+はEmacsではキーイベントの処理に使われていません
721login:Penguin
2012/03/28(水) 20:41:18.94ID:R04800Nw
( ゚Д ゚)
722login:Penguin
2012/03/29(木) 22:20:44.47ID:GJB1hQRo
cairoが高速化ってことはeclipseも早くなるのかね
723login:Penguin
2012/03/29(木) 22:37:41.77ID:CN8scaWa
anjutaを使ってみたところ
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?
724login:Penguin
2012/04/02(月) 18:01:59.91ID:BFIgJvs2
どんな呼び方したのか書いてくれなきゃわからん
一番いい解決方法は DevhelpっていうGUIヘルプビューワ入れて g_signal_connectの説明読むこっちゃ
ver.も気にせずに例を書くとシグネチャ違うみたいだねそれが一番幸せになれる
725723
2012/04/03(火) 21:46:17.80ID:gvKF9Ts9
よく確認してみたところエラーになるのはgtk_signal_connectのほうで
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
http://developer.gnome.org/gtk/stable/gtk-Signals.html#gtk-signal-connect
726login:Penguin
2012/04/15(日) 02:03:04.26ID:Z1/ZfeAU
threadやmutex関係もgtk_の方は廃止になって、g_の方のみになった。3。0あたりから
基本的な関数はglibに集約して、ツールキット的な関数のみgtk 3で担当するように住み分けされた
コンパイルの最中に廃止された関数と表示がでるソースは、いずれソースを書き換えないとビルド不能になる
ちなみに最も基本的なlibcでも現在開発ラインの最新版だとgetsが本当にソースから廃止されてるので、getsが使われてるソースをビルドできなくなってる
727login:Penguin
2012/04/15(日) 08:43:51.29ID:khsJyTTq
ガチで使えないキット(GTK)
728login:Penguin
2012/04/22(日) 21:22:17.78ID:ZPy8N610
UGS
Never use gets().
729login:Penguin
2012/05/03(木) 19:08:20.54ID:2lAo9jqg
フォントサイズって10.5ptとか小数点で設定できる?
730login:Penguin
2012/05/04(金) 06:17:57.12ID:phIzEGLj
フォントサイズの指定方法がわかってて
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。
731login:Penguin
2012/05/04(金) 11:44:12.10ID:LzE47Zaa
型がguintみたいだが
732login:Penguin
2012/05/04(金) 14:24:41.51ID:86E5ktal
それがどうした
733login:Penguin
2012/05/09(水) 14:47:56.27ID:M8lWcVDx
Gtk.TreeView.Selection.Mode = Gtk.SelectionMode.Multiple;
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?
734login:Penguin
2012/05/15(火) 22:46:57.21ID:PyXbSQll
Gtk.Label page_label = new Gtk.Label (title);
page_label.KeyReleaseEvent += delegate {
Console.WriteLine("!"); //←呼び出されない理由を説明してほしい!
};
735login:Penguin
2012/05/16(水) 07:38:42.69ID:1Jlqt6RC
gtk_widget_set_events()
736login:Penguin
2012/05/16(水) 21:45:01.79ID:oMuQxzgz
GTKは親切ではないなーと楽をしてきただけに思いますw

>>735
ありがとうございます
しかし、それらしいのが見つかりません
737login:Penguin
2012/05/23(水) 21:46:04.65ID:jdgnkMvj
GTKのGUIは更新をサボる癖があるようですが
無理やり更新させる方法はないでしょうか?
738login:Penguin
2012/05/23(水) 21:50:35.79ID:jdgnkMvj
更新するWidgetを間違えてた!
解決
739login:Penguin
2012/06/08(金) 19:02:58.11ID:BmPo410Y
Gtk-CRITICAL **: IA__gtk_main_quit: assertion `main_loops != NULL' failed

メインループ内でGtk.Application.Quit ();を呼ぶなって事だろうけど
終了させる方法はないのでしょうか?
740login:Penguin
2012/06/08(金) 20:38:02.95ID:6+ZFg73U
>>739

電源を切れば終了。
741login:Penguin
2012/06/09(土) 03:50:44.00ID:xIQyunsc
gtk_main_quit()のソースコードを読めば解決。
742login:Penguin
2012/06/10(日) 07:41:42.40ID:NypXeHdm
>>739
launcher みたいの作ろうとしてるんだろうか…
いまいちどういうことなのか判らないんだけど

logメッセージを抑制したいなら glib 2.32から

http://www.mail-archive.com/geany-devel@uvena.de/msg06039.html
G_LOG_LEVEL_CRITICAL
log level for critical messages, see g_critical(). This level is also
used for messages produced by g_return_if_fail() and g_return_val_if_fail().

ある程度デフォルトだと出力されなくなるみたい
onにするときは環境変数G_MESSAGES_DEBUG=allで以前と同じ動作になるらしい
743login:Penguin
2012/07/04(水) 15:28:28.70ID:RZglH82u
from gi.repository import Gtk
744login:Penguin
2012/08/07(火) 21:52:39.08ID:4kcOLz8m
このスレ的にはGTKのものをそのまま叩くっていうのは危険なこと?
745login:Penguin
2012/08/08(水) 21:32:46.85ID:heEHx4e5
意味わからん。
746login:Penguin
2012/08/09(木) 02:30:11.31ID:IoAeP/Ow
バッシングだな
747login:Penguin
2012/08/09(木) 09:21:30.12ID:n/9/m8Sd
え?ラッパーライブラリを介さず直接コールするって意味じゃないの?
748login:Penguin
2012/08/09(木) 22:47:55.45ID:Q1A6/Eca
>>747
そのとおりです
749login:Penguin
2012/08/09(木) 22:57:00.84ID:P67COA3s
Exactly
750login:Penguin
2012/09/11(火) 19:25:22.84ID:AmLZmZH+
取り敢えずgtk_main_quit()
751login:Penguin
2012/11/27(火) 12:00:27.00ID:Mwv1yHjg
UbuntuでPyGTKを利用してアプリケーションを作っているのですが、一部パーミッションが与えられていないファイルへの書き込みを行いたいと考えております。

Ubuntu Software Centerからアプリケーションをインストールしようとすると、Authenticateというポップアップが出てきてパスワードを入力するとsudoの様にアプリケーションのインストールができますが、これはどのように実現しているのでしょうか?

自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。
752login:Penguin
2012/11/27(火) 23:24:04.63ID:p3EAvFxY
>>751
pyは使えないのですが、この話はGTKのスレの質問でしょうかね?
Cだったらstatとchmod使うところじゃないかと。
753login:Penguin
2012/11/27(火) 23:44:47.91ID:2Faa51y/
>>751
もしかして:gksu

$ sudo command
のかわりに
$ gksu command
ってやると
GUIでパスワード聞かれる
754login:Penguin
2012/11/28(水) 00:24:58.73ID:JU9FPiAT
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?
755login:Penguin
2012/11/28(水) 16:35:00.90ID:a6DQ5WYq
polkit
756login:Penguin
2012/12/02(日) 14:08:52.19ID:jmMYkF+D
>>754
ナイス翻訳
757login:Penguin
2013/02/09(土) 09:31:18.23ID:cnWShbXp
質問させてください。
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?
758login:Penguin
2013/03/07(木) 14:11:29.83ID:QnTnog/x
こう書く方法ないかな?
public class Window :Gtk.Window{
}
759login:Penguin
2013/03/07(木) 16:21:44.64ID:19LddT7Q
>>758
valaをつかえばいいと思うよ
760login:Penguin
2013/03/08(金) 18:55:04.44ID:Eqvj3fL9
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない
761login:Penguin
2013/03/13(水) 09:34:23.06ID:EMo1WQCk
>>760
valaはwindowsでも普通に使える。
762login:Penguin
2013/03/23(土) 10:23:11.54ID:PyYsgXcc
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら
763login:Penguin
2013/03/23(土) 16:14:11.15ID:oI1eFSYR
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。

お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。
764762
2013/03/23(土) 16:55:08.61ID:PyYsgXcc
結局add_buttonで追加したボタンを使うのではなく、アクションエリアに普通のボタンを追加し、
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?
765login:Penguin
2013/05/07(火) 16:10:42.57ID:6dLQJSLO
ちょっとスレチになるかもなんですけど、GTK使われたアプリをWindowsで自動操作したいのですが
WM_LBUTTONDOWNなどで座標を直接指定でやってるんですけどMenuBar以外が反応してくれないです
どうすればいいでしょうか?
766login:Penguin
2013/05/10(金) 02:01:44.26ID:Jlh16O1w
Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww
http://engawa.2ch.net/test/read.cgi/poverty/1368116873/
767login:Penguin
2013/07/03(水) NY:AN:NY.ANID:5x5esxXj
FreeWnn スレッドより:
http://toro.2ch.net/test/read.cgi/unix/1084551838/l50

457 :名無しさん@お腹いっぱい。:2012/07/05(木) NY:AN:NY.AN
gtk2アプリにkinput2で入力する場合に、kinput2のステータス表示の「[あ]」が
真っ黒になってしまう問題の解決法の俺様メモ。

gtk2のソースの、modules/input/gtkimcontextxim.cの
on_status_window_expose_event()関数が変更されたのが原因。

これを、gtk+-2.21.5(以前)のソースのgtkimcontextxim.cに戻せば桶。

modules/input以下のサブディレクトリだけmakeして、
できたim-xim.soだけ置き換えればよい。

ソースにバグありとみた。
768login:Penguin
2013/09/23(月) 01:43:22.12ID:pt1QWlbc
http://www.tarnyko.net/en/
ここでWindows版のBroadway実行環境を配布してたから試してみたけど
遅くて使いものにならん…
asm.jsは良い感じなんで、GTK+アプリをそのままasm.jsにコンパイルして
ブラウザで実行出来るようにしてくれたら最高だがな。
769login:Penguin
2013/10/24(木) 11:46:06.77ID:YHoA8g0Q
同一アプリ上で、IconViewからFrameとかImageへDrag &amp; Dropって
可能なんでしょうか・・・。

そんな感じのサンプルをご存知でしたら教えてくださいm(_ _)m
770769
2013/10/25(金) 16:54:19.59ID:2AmnlVsx
すみません、>>769は出来るようになりました。
drop側の設定に問題がありました。

ところで、Imageから別のImageへのDrag & Dropは可能なんでしょうか。
Dragしても、IconViewの時のようにカーソルが変化しません・・・。
771login:Penguin
2014/05/24(土) 00:08:41.16ID:jA6HOcWn
gtkmmでProgressBarの描画更新はどうやったらええねん
set_fractionしても途中を描画してくれない
772login:Penguin
2014/05/24(土) 01:19:23.19ID:3aXipg2f
pulse()

https://developer.gnome.org/gtkmm-tutorial/3.9/sec-progressbar.html
https://developer.gnome.org/gtkmm/unstable/classGtk_1_1ProgressBar.html
773771
2014/05/24(土) 09:12:07.41ID:ESO9FbEd
>>772
それアクティビティモードというのと違う?
ナイトライダーをしたいわけではないんよ・・・
774login:Penguin
2014/05/24(土) 12:34:03.59ID:3aXipg2f
>>771,773
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?
775771
2014/05/24(土) 14:58:12.72ID:ESO9FbEd
>>774
はい、その通りです。お付き合い頂き有り難う御座います。
queue_draw()を試してみましたが、表示のされ方は変わりませんでした。
試したコードを貼り付けようとしたのですが、行数の制限で書けませんでしたので、部分的に書き込みます。
ググって見ているのですが・・・何かお気づきの点がありましたらよろしくお願い致します。

プログレスバーとボタンを配置し、ボタンが押された時に動くようにしました。
drawBtn.signal_clicked().connect( sigc::mem_fun( *this, &ProgressWindow::on_draw_prog ) );

void ProgressWindow::on_draw_prog() {
progBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
progBar.set_fraction( (double)i/100.0 );
// progBar.queue_draw();
sleep( 1 );
}
progBar.set_fraction( progBar.get_fraction() + 0.01 );
}
776login:Penguin
2014/05/24(土) 16:46:51.13ID:3aXipg2f
おそくなってゴメン、こんな感じでどうでしょう?
http://www.dotup.org/uploda/www.dotup.org5080741.gz.html
>>772 であげたチュートリアルのコードをいじったものです。

SpinButton の値を 0 から 100 (%)までの任意の値に変更して "Update" ボタンを押すと
ProgressBar の状態が変化します。

examplewindow.cc の on_button_update を見れば分かるかと思います。
777login:Penguin
2014/05/24(土) 17:31:46.88ID:3aXipg2f
あれ? queue_draw() いらねーな。w
778771
2014/05/24(土) 22:15:14.18ID:SrMGc3rQ
>>776
コードまで書いて頂き有り難う御座います。
コンパイルして動作を見ましたら、進捗状況の変化を確認できました。
しかしながらon_button_update内で下記コードのようなループを回しset_fractionするようにしてみましたら
相変わらず最後の表示だけするようです。実際の処理ではループを回して進捗状況をset_fractionします。
む~もう少しネットをあさってみます。

void ExampleWindow::on_button_update()
{
m_ProgressBar.set_fraction( 0.0 );
for( int i=0; i<100; i++ ) {
m_ProgressBar.set_fraction( (double)i/100.0 );
m_ProgressBar.queue_draw();
sleep( 1 );
}
}
779771
2014/05/24(土) 23:11:20.28ID:SrMGc3rQ
なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな

[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );
780login:Penguin
2014/05/24(土) 23:56:02.23ID:3aXipg2f
タイマー使って処理させるとか
http://www.dotup.org/uploda/www.dotup.org5081764.gz.html
781771
2014/05/25(日) 10:38:49.48ID:OwNsCCvJ
タイマーか~処理がスパゲッティーになりかけているから使いづらいんだよね
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな
782login:Penguin
2014/05/25(日) 13:02:49.60ID:ujxKETx8
http://stackoverflow.com/questions/8340238/gtk-window-stalling-when-using-windows-sleep
783login:Penguin
2014/06/08(日) 10:20:05.83ID:kFAavqfc
ComboBoxでドロップダウンアイテムを選択した時に発生する
イベントってなに?
784login:Penguin
2014/06/08(日) 17:33:49.75ID:lVyy6Wyn
signal_changed()
785login:Penguin
2014/09/22(月) 18:34:36.01ID:eWn3ghjY
本当は先にこっちへ書くべきだった。
gtk_mode
gtk_fashion
gtk_style
gtk_pattern
786login:Penguin
2014/10/03(金) 20:31:58.89ID:3j8hGaDn
みなさん、人工言語の
高級低級の長所短所のチンチンはご存知?
787login:Penguin
2014/10/04(土) 21:22:31.83ID:PLRFhsu2
>>786
日本語でOK
788login:Penguin
2014/10/05(日) 09:12:43.76ID:6cVZzLYB
技術系スレには自分で人口無能を作っちゃう人もいるからな。
>>786が人間とは限らないよ
789login:Penguin
2014/10/05(日) 12:54:17.13ID:8NkrJ1Fe
かわいいかっぽれ
790login:Penguin
2014/10/05(日) 14:16:26.58ID:8NkrJ1Fe
人の嫌がる事をすすんでしましょう
791login:Penguin
2014/12/27(土) 20:58:23.25ID:FwEwRAao
すみませんが質問させてください
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?
792login:Penguin
2014/12/28(日) 23:07:33.76ID:aGqgOq87
学校の課題でシューティングゲーム作ってるんですが、cairoで表示した複数の画像の手前、奥の位置関係を変えることってできますか?
793login:Penguin
2014/12/29(月) 00:51:05.82ID:13XuaNya
はい。
794login:Penguin
2016/01/23(土) 21:11:40.92ID:XkMlkiDd
昨日からC+GTKでプログラム作ってるんだけど質問。treeviewでリスト表示してる状態で、キー入力すると、
なんか入力ボックスが開いて入力させるんだけど、これを止めさせる方法がわからない
表示だけさせたいんで、編集できるかも?って感触を持たせたくない
エラー表示させる積りはないけど、無視したい
多分、単純な事なんだろうけど...
795login:Penguin
2017/02/04(土) 12:26:02.78ID:KMsE1Vqa
>>794
既に解決してるかもしれないけど
GtkTreeViewのプロパティにある「検索可能」フラグをOffにすればよいみたい
796login:Penguin
2017/02/12(日) 13:51:10.49ID:+yRaNQxe
g++ (GCC) 6.3.1 20170109、gtkmm 3.22.0でフォントの描画画像を取得するテストプログラムを
作っているのだけど Gdk::Pixbuf::create( get_window(), 0, 0, get_width(), get_height() );
で取得した画像がon_drawで描く前の状態を取ってきているみたいで一つ前の表示になってしまいます
on_drawで描画した後の画像を取得するにはどうしたら良いでしょうか?
(set_double_bufferedも疑ったのですがこちらは関係ないような気がします)
提示する情報が分からず情報不足かも知れませんが宜しくお願いします
797796
2017/02/12(日) 17:47:04.39ID:+yRaNQxe
コールバック関数内で描画に関わる関数を呼んで、その次にPixbufを取り出す関数を読んでたのですが
どうもコールバック関数が終わるまでイベントが処理されないようでした
強制的にイベントを処理する下記コードを追加して上手く動く様になりました

while( Gtk::Main::events_pending() ) {
Gtk::Main::iteration( true );
usleep( 1000 );
}

出来ればDrawingAreaに描画しなくてもPixbufを取り出せると良いのですが・・・
(Pango::Layoutあたりから直接画像イメージを作れないでしょうか)
798login:Penguin
2017/05/24(水) 13:46:02.74ID:TLlefqX7
GTKってどうなの?
GTKかQtkかなんやんでQtにしたんだけど(当時kdevelopってQtの開発環境があったんだよね、今もあるけど)。
799login:Penguin
2017/05/24(水) 14:19:50.72ID:pbxEBOft
今からやるならQtのほうがいいんでね?
これからGTK+4で阿鼻叫喚になるのと対照的に、Qt5へ移行したばっかだし
800login:Penguin
2017/05/24(水) 14:29:06.20ID:TJNNAVtb
>>798
ウインドウ内でうねうね動かせて視覚効果高いのがのがQt。Qtならゲームも作れる。
そうゆうの全く無理で地味でも、ちょうど良いコンパクトサイズのボタン等が充実しててツール作ったりするのに適してるのがGTK。
801login:Penguin
2017/05/24(水) 18:53:21.69ID:cGg4zBc+
GTK+4以降では、「安定なAPI体系はハナから持たない」って認識でいいの?
ffmpegのように絶え間なくAPIが変化し続けることになる?
で、バージョン番号もブラウザのようにうなぎ上りになるのか
802login:Penguin
2017/05/24(水) 20:06:41.07ID:PSOKRtb/
https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/
2年ごとにメジャーバージョン更新
最新のメジャーバージョンは開発中につき不安定
各メジャーバージョンの最終版=安定版としたいらしい
803login:Penguin
2017/05/24(水) 22:24:13.70ID:0wlGVdsK
なるほど
ffmpegほどキ○ガイな方針ではないのね
804login:Penguin
2017/06/24(土) 15:36:13.60ID:J/+rjWu3
java の JList みたいなことはできる?
どういうのかというと、参考画像
GTK+プログラミング->画像>7枚

リストのアイテムがテーブル上に並んでいて、
上下左右にカーソル移動できる。

GTK だとないかな?
805login:Penguin
2017/06/24(土) 17:57:54.57ID:cdtIIsj7
IconViewをラベルだけで使うみたいなもんかね
Pythonですまんが

from gi.repository import Gtk
from gi.repository import GObject

bname = ["Arlo", "Cosmo", "Elmo", "Hugo", "Jethro",
        "Laszlo", "Milo", "Nemo", "Otto", "Ringo",
        "Rocco", "Rollo"]
model = Gtk.ListStore(GObject.TYPE_STRING)
for n in bname:
    t = model.append()
    model.set(t, 0, n)
view = Gtk.IconView(model)
view.set_text_column(0)
win = Gtk.Window()
win.add(view)
win.show_all()
win.connect("delete-event", Gtk.main_quit)
Gtk.main()
806804
2017/06/26(月) 15:14:10.11ID:y5aZk+CQ
>>805
なるほど、IconView でテキストか。
できたできた、
どうもありがとう!
807login:Penguin
2017/07/04(火) 04:00:58.40ID:Rpvk2+Dl
gtk勉強しようかと思うんだけどもうオワコン?
でもQtバインディングよりgtkバインディングのほうが多いしなぁ...

gtk4で大幅に進化したりしないかな
808login:Penguin
2017/07/04(火) 13:24:32.59ID:8Z5Rtw2V
両方やってみればいい
考えてるほど時間も労力も掛からないよ
809login:Penguin
2017/07/11(火) 15:53:30.96ID:9jKfhw2z
window のサイズをいい感じ?にできる関数があるか、
お知恵を拝借。

(1) やったこと
GtkWindow に対して、GtkToolbar しか置いてない。
toolbar に、gtk_toolbar_insert() でボタンを4つ横並びに置く。
window のサイズは未指定。

(2) 動作確認
右の方のボタンが矢印でまとめられて?
メニューみたいに表示される。
(横幅を広げると、横並びに表示される)

(3) 所感
相当前に gtk_toolbar_append_element() (deprecated) 等で
配置したときは、横並びに表示されて、
window のサイズはちょうどいい具合に表示されていた(ように思う)。

ボタンが、矢印でまとめられないで、横並びに表示されるように
window のサイズをいい感じ?にできる関数がある?
(意味わかんなかったらゴメンw)
gtk_widget_set_size_request() でざっくりで指定しないとダメかなあ。
810login:Penguin
2017/07/11(火) 21:23:00.28ID:w3xO5s8F
>>809
直接の答えは分からないけど、何の工夫もせずにやったらボタンが4つ並ぶ状態で起動すると思う

public class ToolbarTest : Gtk.Window {
  public ToolbarTest () {
    destroy.connect (Gtk.main_quit);
    var tb = new Gtk.Toolbar ();
    foreach (var n in new int[] {1,2,3,4}){
      tb.add (new Gtk.ToolButton (null,@"Button$n"));
    }
    add (tb);
    show_all ();
  }

  public static int main (string[] args) {
    Gtk.init (ref args);
    new ToolbarTest ();
    Gtk.main ();
    return 0;
  }
}
811login:Penguin
2017/09/24(日) 13:44:57.02ID:AWmycg5C
toolbar に付いている「つまみ」
(アプリでよくある「toolbar を固定する」みたい感じなのをオフにすると現れる、持つ部分?)

あれは GTK+ では、どうやって出すのでしょうか?
812login:Penguin
2017/09/24(日) 23:45:06.00ID:PwTxDy1k
GtkHandleBoxならdeprecatedだぞ
813login:Penguin
2017/09/25(月) 09:15:38.26ID:bLbAubVC
VTEのspawnなんとかのAPIはいつになったらファイナライズされるのかね(怒
814login:Penguin
2017/10/05(木) 21:14:42.06ID:c3KsIY0h
gtk4が気になってgtkの勉強始めようと思うんだけど初心者は何から始めるのがおすすめでしょうか?
815login:Penguin
2017/10/10(火) 12:36:19.63ID:d/a7Ir8S
python3+gtk3で作るに際し
IDE (統合環境)みたいなのってある?

そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど

もしくは大抵何が使われているのか
816login:Penguin
2017/10/10(火) 15:06:28.56ID:6wfTcDmJ
pycharm
817login:Penguin
2017/10/10(火) 15:07:12.53ID:6wfTcDmJ
あるいはvscodeにpythonプラグイン入れれば出来るかな
818login:Penguin
2017/10/10(火) 21:08:41.65ID:d/a7Ir8S
>>816-817
thank you
819login:Penguin
2017/10/15(日) 20:41:28.01ID:IZYKuyT8
補足だけどpycharmでgtkの補完を行うにはちょっとした作業が必要みたい
https://stackoverflow.com/a/33646560

vscodeのほう(というかjediという補完ツール)も何かしら方法はあるっぽい?
820login:Penguin
2017/11/01(水) 06:36:53.25ID:6RRJjvM+
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <cairo.h>

#define BITMAP_WIDTH (600)
#define BITMAP_HEIGHT (600)

GtkWidget *window;
GtkWidget *darea;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button01;
GThread* thread;
volatile int execflag01;
int count;
int time_count;

static void do_drawing (cairo_t *, GtkWidget * widget);

struct
{
cairo_surface_t *image;
} glob;

static gboolean on_draw_event (GtkWidget * widget, cairo_t * cr, gpointer user_data)
{
cr = gdk_cairo_create (gtk_widget_get_window (widget));
do_drawing (cr, widget);
cairo_destroy (cr);
return FALSE;
}
821login:Penguin
2017/11/01(水) 06:37:32.12ID:6RRJjvM+
続き
static void do_drawing (cairo_t * cr, GtkWidget * widget)
{
gfloat screen_width;
gfloat screen_height;
gfloat image_width;
gfloat image_height;
gfloat x_scaling;
gfloat y_scaling;
/* ディスプレイの全画面の大きさを取得 */
screen_width = gdk_screen_get_width (gdk_screen_get_default ());
screen_height = gdk_screen_get_height (gdk_screen_get_default ());
/* イメージの大きさを取得 */
image_width = cairo_image_surface_get_width (glob.image);
image_height = cairo_image_surface_get_height (glob.image);
x_scaling = 1.0;
y_scaling = 1.0;
cairo_scale (cr, x_scaling, y_scaling);
cairo_set_source_surface (cr, glob.image, 0, 0);
cairo_paint (cr);
}
822login:Penguin
2017/11/01(水) 06:37:57.41ID:6RRJjvM+
続き
static void load_image ()
{
cairo_t *ic;
glob.image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, BITMAP_WIDTH, BITMAP_HEIGHT);
ic = cairo_create (glob.image);
//長方形の描画
{
//色の指定(外枠:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形(x,y,width,height)を描画
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
//長方形の外枠を作る
cairo_stroke_preserve(ic);
//色を指定(塗りつぶし:Red,Green,Blue)
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
//長方形を塗りつぶす
cairo_fill(ic);
cairo_stroke (ic);
}
cairo_destroy (ic);
}
823login:Penguin
2017/11/01(水) 06:38:38.92ID:6RRJjvM+
続き
static gpointer thread_func( gpointer data){
cairo_t *ic;
int i;
ic = cairo_create (glob.image);
{
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);
}
cairo_stroke (ic);
for (i = 0; i < count; i++) {
gdk_threads_enter();
{
cairo_set_source_rgb(ic, (i % 256) / 256.0, 0.0, (i % 256) / 256.0);
cairo_rectangle(ic, 0.0, (double)i, (double)BITMAP_WIDTH, 1.0);
cairo_stroke (ic);
}
gdk_threads_leave();
gtk_widget_queue_draw(darea);
usleep(time_count);
}
cairo_destroy (ic);
execflag01 = 0;
}
824login:Penguin
2017/11/01(水) 06:39:29.00ID:6RRJjvM+
続き

static void on_button01_clicked(GtkWidget *button, gpointer user_data){
GError *error;
if (execflag01 == 0) {
execflag01 = 1;
count = BITMAP_HEIGHT;
time_count = 1000;
thread = g_thread_create( thread_func, (gpointer)darea, FALSE, &error);
}
}
825login:Penguin
2017/11/01(水) 06:39:49.40ID:6RRJjvM+
最後
int main (int argc, char *argv[])
{
load_image ();
execflag01 = 0;
gtk_init (&argc, &argv);
gdk_threads_init();
gdk_threads_enter();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add(GTK_CONTAINER(window), vbox);
darea = gtk_drawing_area_new ();
gtk_box_pack_start(GTK_BOX(vbox), darea, FALSE, FALSE, 0);
gtk_widget_set_size_request(darea, BITMAP_WIDTH, BITMAP_HEIGHT);
button01 = gtk_button_new_with_label("Button01");
gtk_box_pack_start(GTK_BOX(vbox), button01, FALSE, FALSE, 0);

g_signal_connect(G_OBJECT(button01), "clicked", G_CALLBACK(on_button01_clicked), NULL);
g_signal_connect (G_OBJECT (darea), "draw", G_CALLBACK (on_draw_event), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
gtk_window_set_title (GTK_WINDOW (window), "Cairo Test");
gtk_window_set_decorated (GTK_WINDOW (window), TRUE);
gtk_widget_set_size_request(window, 600, 630);
gtk_widget_show_all (window);
gtk_main ();
gdk_threads_leave();
cairo_surface_destroy (glob.image);
return 0;
}
826login:Penguin
2017/11/01(水) 12:30:43.16ID:MSa06+/w
gtkmm っていう C++ のバインディングがあるんだけど,2011 年で 3.0 が出たきり更新の音沙汰がない。
C++ 向けの GTK+ バインディングでおすすめある?
827login:Penguin
2017/11/01(水) 13:02:49.11ID:A1HFLP/N
事実上それしかないのでは
828login:Penguin
2017/11/01(水) 13:24:04.75ID:JjdAGBri
>>826
音沙汰ないのは gtkmm.org だけみたいだよ

https://github.com/GNOME/gtkmm/blob/master/NEWS
https://developer.gnome.org/gtkmm-tutorial/
829login:Penguin
2017/11/01(水) 16:12:00.92ID:1oQnySzL
gtkmmはgtk4に向けてc++14対応もしてるっぽいし結構期待してる
830login:Penguin
2017/11/01(水) 16:16:36.47ID:A1HFLP/N
ぼくも(^o^)
831826
2017/11/01(水) 17:32:31.31ID:MSa06+/w
>>827
>>828
ありがとうございます。GNOME のリポジトリはついぞ覗いていませんでした。これで安心して使えます。
しかしパッケージマネージャで入手できる gtkmm が 2.4 と 3.0 というのはちょっと心許ないですね……。

誰か PR 投げてくれないかなぁ〜 (他力本願)
832login:Penguin
2017/11/01(水) 18:17:48.95ID:eYINtNrh
>>831
2.4とか3.0とかはgtkmmの互換性での番号だと思うけどどうして心許ないの?
833login:Penguin
2017/11/01(水) 18:19:19.00ID:A1HFLP/N
>>831
ためしに手元のUbunut 17.04 でバージョン見たら
Version: 3.22.0-1

ってなっとるでな
834login:Penguin
2017/11/01(水) 18:55:06.19ID:1oQnySzL
gtk4が出るまでqt勉強する
835login:Penguin
2017/11/01(水) 18:56:39.83ID:1oQnySzL
gtk4が出たらJD書き直そうや
いつまでもgtk2じゃ駄目でしょ
最近のgtkはカラー絵文字にも対応してるようだし
836login:Penguin
2017/11/01(水) 19:11:17.65ID:6RRJjvM+
>>820はGTK+3でBITMAPを表示する方法がわからなかったので
ネットで調べてとりあえず作ってみたものです

それとgtk_widget_queue_draw()をスレッド側で使う場合
下記のようにしないとダメなようです

gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
837login:Penguin
2017/11/01(水) 19:12:33.94ID:6RRJjvM+
デモとして違うのも作ってみました
>>820-825のプログラムのthread_func()関数を下のものに差し替えてみてください

static gpointer thread_func( gpointer data){
int i, j, col, i1, depth;
double xgap, ygap, xx, yy, a1, b1, x1, y1, tmp1, x2, y2;
double xcorner, ycorner, length;
cairo_t *ic;
int count01;
struct {
double xcorner;
double ycorner;
double length;
} param[8];

param[0].xcorner = -1.785666666666666e+000; param[0].ycorner = -2.508333333333312e-002;
param[0].length = 5.000000000000000e-002;

param[1].xcorner = -1.759984700520832e+000; param[1].ycorner = -1.518603515624978e-002;
param[1].length = 9.765625000000001e-005;

param[2].xcorner = -1.759906697591145e+000; param[2].ycorner = -1.515360514322895e-002;
param[2].length = 6.103515625000000e-006;

param[3].xcorner = -1.759901244004566e+000; param[3].ycorner = -1.515219028790770e-002;
param[3].length = 4.768371582031250e-008;

param[4].xcorner = -1.759901209723814e+000; param[4].ycorner = -1.515217680089193e-002;
param[4].length = 5.820766091346741e-012;

param[5].xcorner = -2.112213541666665e-001; param[5].ycorner = -7.939140624999994e-001;
param[5].length = 1.562500000000000e-003;
838login:Penguin
2017/11/01(水) 19:13:17.37ID:6RRJjvM+
続き

param[6].xcorner = -2.238124999999996e-001; param[6].ycorner = -6.581041666666665e-001;
param[6].length = 1.250000000000000e-002;

param[7].xcorner = -2.137343749999995e-001; param[7].ycorner = -6.554270833333333e-001;
param[7].length = 3.906250000000000e-004;

ic = cairo_create (glob.image);
for (count01 = 0; count01 < 8; count01++) {
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_fill(ic);

xcorner = param[count01].xcorner;
ycorner = param[count01].ycorner;
length = param[count01].length;
depth = 1000;

xgap = length / BITMAP_WIDTH;
ygap = length / BITMAP_HEIGHT;
xx = xcorner;
yy = ycorner;
for(j = 0; j < BITMAP_WIDTH; j++) {
ic = cairo_create (glob.image);
for(i = 0; i < BITMAP_HEIGHT; i++) {
a1 = xx; b1 = yy;
i1 = 0; x1 = 0; y1 = 0;
x2 = x1 * x1;
y2 = y1 * y1;
839login:Penguin
2017/11/01(水) 19:13:57.79ID:6RRJjvM+
終わり
while ((i1 < depth) && (x2+y2 <=4)) {
tmp1 = x2 - y2 + a1;
y1 = 2 * x1 * y1 + b1; x1 = tmp1;
x2 = x1 * x1; y2 = y1 * y1; i1++;
}
if (i1 == depth) i1 = 0;
else i1++;
col = i1;
gdk_threads_enter();
cairo_set_source_rgb(ic, (col % 256) / 256.0, 0.0, 0.0);
cairo_rectangle(ic, (double)i, (double)j, 1.0, 1.0);
cairo_stroke(ic);
gdk_threads_leave();
xx = xx + xgap;
}
yy = yy + ygap; xx = xcorner;
if (j % 5 == 0) {
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
}
usleep(1000);
}
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
usleep(50000);
}
cairo_destroy (ic);
execflag01 = 0;
}
840login:Penguin
2017/11/01(水) 20:23:13.63ID:1oQnySzL
コードは別のところに貼ってくれ
841login:Penguin
2017/11/01(水) 20:39:13.35ID:A1HFLP/N
一般的なペーストビン使えば?
842login:Penguin
2017/11/01(水) 20:49:04.40ID:MSa06+/w
GTK4 で JD 書き直すの?
843login:Penguin
2017/11/01(水) 21:10:52.50ID:e2sx/G8f
2chでコード貼ると権利関係の問題が生じるから
普通は貼らない。
これ常識。
844login:Penguin
2017/11/02(木) 07:34:01.28ID:DIoOuVfO
GTK+4から>>801-802の方針らしいので今GTK+使うなら3系が無難だと思う
845login:Penguin
2017/11/02(木) 18:51:47.91ID:hOMy/o9B
本来なら、ソフトウェア板のGEditスレで聞くはずなんだろうけど、あまりにあっちのスレは心許ないので、こちらで聞かせて。

まず、GEditでAlt+n(nは1とか2とか3とかの番号)のショートカットキーを入力すると
現在開いてるタブの中から該当する番号のエディタタブをアクティブにしてくれるんだけど。。
https://help.gnome.org/users/gedit/stable/gedit-shortcut-keys.html.en

GEditのWordCompletionっていうプラグイン使ってるんだけど、
これはオートコンプリートみたいに単語を入力候補の中から選んで入力支援作業をしてくれるプラグインなんだけど、
数ある候補の内から番号を選択して入力しようと思うとCtrl+Alt+n(nは番号)なんだけど、
GEditの公式ページにはAlt+nで良いって書いてある。
https://help.gnome.org/users/gedit/3.4/gedit-plugins-word-completion.html.en

自分としては使う機会が明らかにWordCompletionの方が多いから、逆の方がスゴイ都合いいんだけど、
現在GEditのショートカットキーを変更するのはスゴイ難しいっぽい(昔はプラグインとかあったみたい)。

ググッて出てくる~/.config/gedit/accel の変更もスゴイ難しい・・・。誰か分かる人がいたら教えて。よろしく。
846login:Penguin
2017/11/02(木) 19:59:46.62ID:88fKOOJi
>>845
スレ違いと分かってて書くし使ってるディストリやバージョンは書かないし…

Fedora25の gedit3.22だとAlt+番号で
候補が出ているときはword選択、出てないときはタブ切り替えになる
847845
2017/11/02(木) 22:59:36.25ID:hOMy/o9B
>>846
すみません。まず、スレ違いの点ですが、
ソフトウェア板にLinuxユーザ(GEditはほとんどがLinuxユーザでしょう)がどれだけいるか甚だ疑問ですし(WindowsユーザでGEdit使ってる人はほとんど詳しくないでしょうし、
Linux使いよりも多分詳しくないと思われます)、そういう理由でこちらに質問させてもらいました。

環境によっても違うんですね・・。それは知りませんでした、すみません。
自分はUbuntu16.04LTS、GEditのバージョンは3.18です。

>>846様のFedora25、GEdit3.22の場合はスゴイ良い動き方をしますね。スゴイ羨ましいです!その様な動作の仕方が理想ですね。。マジで大変うらやましいです。

ご回答ありがとうございました。
848845
2017/11/03(金) 00:02:30.59ID:RlVX2BAD
UbuntuSoftwareにあったGEditを3.22だったので、インストールしてみたら
日本語対応まだしてなかったみたいです。

プラグイン選択とかファイル選択ダイアログは全部文字化けです・・。
849login:Penguin
2017/11/03(金) 02:45:39.77ID:PPg57U6Z
Web ブラウザとかの「名前を付けて保存する」みたいな機能を使用した時に出る,
ファイルの名称と保存先を決定できるポップアップダイアログって,どこが出しているか分かりますか?
GTK+ のテーマを継承していたり「最近開いた項目」があったりするので GVfs あたりかなと予想しているのですが。

そしてあのダイアログを自分の好きなプログラムに置き換えることは可能でしょうか。
850845
2017/11/03(金) 06:44:11.70ID:l5oC3qKd
Ubuntu特有のHUDやらAltでウィンドウメニューをアクティブにする動作のショートカットキーがどうも影響してるみたいです。ショートカットキーを変更してみましたが、時々反映されるまで時間とタイミングがかかるので、もうちょっと待ってみます。ありがとう。
851login:Penguin
2017/11/03(金) 11:20:54.57ID:Nq/vIn19
>>848
ならubuntuスレで聞くべき案件
852login:Penguin
2017/11/18(土) 15:11:28.29ID:ayWF6KV7
http://2chb.net/r/linux/1188968326/820-825
のプログラムをPython3のGTK+3で書いてみた
注)半角空白をすべて全角空白にしてあるのでコピペする場合は全角空白を半角空白にしてください

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
from gi.repository import GLib
from gi.repository import GObject
import cairo
import threading
import time

class Window01(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)
        self.set_title('Cairo Test')
        self.set_position(Gtk.WindowPosition.CENTER)
        self.set_property("width-request", 600)
        self.set_property("height-request", 630)

        self.count = 0
        self.load_image()
        self.vbox = Gtk.Box()
        self.vbox.set_orientation(Gtk.Orientation.VERTICAL)
        self.add(self.vbox)

        self.darea = Gtk.DrawingArea()
        self.darea.set_property("width-request", 600)
        self.darea.set_property("height-request", 600)
        self.vbox.pack_start(self.darea, False, False, 0)
853login:Penguin
2017/11/18(土) 15:12:15.71ID:ayWF6KV7
        self.button01 = Gtk.Button()
        self.button01.set_label('Button01')
        self.vbox.pack_start(self.button01, False, False, 0)
        self.button01.connect('clicked', self.button01_clicked)

        self.darea.connect('draw', self.on_draw_event)
        self.connect('delete-event', Gtk.main_quit)

    def on_draw_event(self, drawingarea, cr):
        self.do_drawing(drawingarea, cr)

    def do_drawing(self, drawingarea, cr):
        screen_width = Gdk.Screen.get_width(Gdk.Screen.get_default())
        screen_height = Gdk.Screen.get_height(Gdk.Screen.get_default())
        image_width = self.image.get_width()
        image_height = self.image.get_height()
        x_scaling = 1.0;
        y_scaling = 1.0;
        cr.scale(x_scaling, y_scaling);
        cr.set_source_surface (self.image, 0, 0);
        cr.paint ();

    def load_image(self):
        self.image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 600, 600)
        ic = cairo.Context(self.image)

        #色の指定(外枠:Red,Green,Blue)
        ic.set_source_rgb(0.0, 0.0, 1.0)
        #長方形(x,y,width,height)を描画
        ic.rectangle(0.0, 0.0, self.image.get_width(), self.image.get_height())
        #長方形の外枠を作る
        ic.stroke_preserve()
854login:Penguin
2017/11/18(土) 15:12:48.56ID:ayWF6KV7
        #色を指定(塗りつぶし:Red,Green,Blue)
        ic.set_source_rgb(0.0, 0.0, 1.0)
        #長方形を塗りつぶす
        ic.fill()
        ic.stroke()

    def button01_clicked(self, button01):
        self.thread = threading.Thread(target=self.thread_func)
        self.thread.start()

    def thread_func(self):
        ic = cairo.Context(self.image)
        for i in range(0, self.image.get_height()):
            Gdk.threads_enter()
            ic.set_source_rgb((i % 256) / 256.0, 0.0, (i % 256) / 256.0)
            ic.rectangle(0.0, i, self.image.get_width(), 1.0)
            ic.stroke()
            Gdk.threads_leave()

            Gdk.threads_enter()
            self.darea.queue_draw()
            Gdk.threads_leave()
            time.sleep(0.001)

GObject.threads_init()
Gdk.threads_init() 
Gdk.threads_enter()
window = Window01()
window.show_all()
Gtk.main()
Gdk.threads_leave()
855login:Penguin
2017/11/18(土) 15:40:31.44ID:b18MsuCQ
>>852
2chにコードを貼ると権利が2ch側に譲渡されるのでpastebinなどを使いましょう。
856login:Penguin
2017/11/19(日) 03:25:08.61ID:s1HDk3bJ
一般的なペーストビン使ったらいいと思う
857login:Penguin
2017/11/23(木) 09:36:01.93ID:0dqzQ9+I
>>837-839をPythonで書いてみました

コードは下のサイトで公開してます
https://pastebin.com/94SpaGgM

PyGObjectを各プラットフォームにインストールするには
http://pygobject.readthedocs.io/en/latest/getting_started.html
858login:Penguin
2017/12/25(月) 03:03:03.86ID:gvoWVmMo
初歩的な質問ですみません。
glade3.18、C言語(初級の本を読んだ程度の知識です)を使用しています。

起動したgladeの右側のプロパティ画面で、

window1 GtkWindow
□|__scrolledwindow1 GtkScrolledWindow
□□|__viewport1 GtkViewport
□□|____image2 GtkImage

のように配置し、scrolledwindow1の全般タブのminimum content width と minimum content height に整数値を入れる事で、window1はマウスでの画像拡大縮小(ドラッグで)が出来る事は確認出来ました。

次に、

window1 GtkWindow
□|__box1 GtkBox
□□|__scrolledwindow1 GtkScrolledWindow
□□□|__viewport1 GtkViewport
□□□|____image2 GtkImage
□□□|button1 GtkButton

と変更すると、画像部分のスクロールは可能なものの、button1を含めたwindowの拡大縮小(ドラッグ)が上手くいきません。

ファイルダイアログの様に、OKボタンやキャンセルボタンをドラッグする事で、ボタンも一緒に下に動く様にするには、どうしたらいいのか悩んでいます。
box1の設定で見逃している部分があると思い調べているのですが見つかりませんでした。
どうすれば解決するのか教えてください。
859login:Penguin
2017/12/25(月) 03:19:48.60ID:gvoWVmMo
858です。ソースは以下のものです。

#include <gtk/gtk.h>
#include <stdlib.h>
static void cb_button_clicked ( GtkWidget *Button1 , gpointer user_data )
{
gtk_main_quit ();
}

int main(int argc, char *argv[])
{
GtkBuilder *builder;
GObject *window1;
// GtkWidget *Button1;

gtk_init(&argc,&argv);
builder = gtk_builder_new();
GError* error = NULL;
if ( !gtk_builder_add_from_file(builder, "test17.ui", &error) ) {
g_warning("Couldn't load builder file: %s", error->message);
g_error_free(error);
exit(1);
}
gtk_builder_add_from_file(builder, "test17.ui", NULL);
gtk_builder_connect_signals(builder, NULL);
window1 = gtk_builder_get_object(builder, "window1");
gtk_widget_show_all(GTK_WIDGET(window1));
gtk_main();
return 0;
}
860login:Penguin
2017/12/25(月) 06:27:37.33ID:gvoWVmMo
858です。

window1 GtkBox
|__box1 GtkBox
|____textview1 GtkTextView
|____viewport1 GtkViewport
|______button1 GtkButton

textview1のパッキングタブで、展張をONで試したら上手くいきました。
画像ファイルが失敗した理由は分かりませんでしたが、他のwidgetでは成功しました。
861login:Penguin
2017/12/25(月) 06:29:41.36ID:gvoWVmMo
×…window1 GtkBox
○…window1 GtkWindow
862login:Penguin
2017/12/28(木) 23:15:58.83ID:3uyy4+Dz
Gtkmmってあんなに良いのに、なんで全然流行ってないの・・?VisualC++はおろか、Qtなんかよりよっぽど良いじゃん。

もっとはやってクレヨン!!他のC++GUIライブラリがあるか知らんが、VC#、VC++、Qtより俺は断然遥かに好きだな。

簡易言語は面白くないので、無しで。VB6くらいやっててワクワクするぜ!
863login:Penguin
2017/12/29(金) 13:15:34.46ID:S/CsVkMC
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

L23RPOWZ2H
864login:Penguin
2018/01/02(火) 03:40:15.04ID:F38ZCjdE
こんなウィジェットある?
GTK+プログラミング->画像>7枚
GTK+プログラミング->画像>7枚
865login:Penguin
2018/01/02(火) 10:19:34.46ID:SmVe6Gd0
>>864
面白いな
866login:Penguin
2018/01/02(火) 12:28:18.29ID:ejbpDk09
>>864
一つ目の方なら頑張れば使えそうな気がするけど2つ目は無理ゲー
ミュートできないじゃん
867login:Penguin
2018/01/02(火) 16:36:35.82ID:BIlvYLfT
普通にスタイル変えたスライダーに見える
868login:Penguin
2018/01/15(月) 17:16:03.76ID:fkabkrJp
>>793-794 2015年書き込み 0
>>795 2016年書き込み 1
2017年 68
何故か2017年はGTK+大躍進の年だった!!!!
869login:Penguin
2018/01/28(日) 23:35:06.91ID:iGCLkti0
あの、すごく素人な質問なんだけど、
GTK+3ってGNOMEが主に採用してるツールキットだよね。
ということは、ウィンドウの装飾がGNOMEデスクトップのそれになるってことかな。
上下に幅が広いウィンドウタイトルは嫌なんだけど、どうなんだろう。あの高さって調整できるんだろうか。
870login:Penguin
2018/01/29(月) 00:03:00.38ID:GKNlaBKy
テーマに従う
871login:Penguin
2018/02/04(日) 14:47:47.61ID:QeG1ckHC
TextViewのテスト用に作ってみました
ソースコードはpastebinに貼り付けてみました

エラトステネスのふるい Python版
https://pastebin.com/7T8BThMJ

エラトステネスのふるい C言語版
https://pastebin.com/egnHWyCJ



>>857にTextViewを追加してみました

マンデルブロート集合 Python版
https://pastebin.com/gnfUsgtJ

マンデルブロート集合 C言語版
https://pastebin.com/EDZcmy53
872login:Penguin
2018/02/06(火) 19:44:30.02ID:LsU5FPdR
>>871はGTK+3でPythonはPython3です

PyGObjectを各プラットフォームにインストールするには下のURLを参照してください
http://pygobject.readthedocs.io/en/latest/getting_started.html

C言語版の方はUbuntuやDebianなら下のようにすればGTK+3が入ります
sudo apt-get install libgtk-3-dev

コンパイルは下のようにやります
gcc test01.c -o test01 $(pkg-config --cflags --libs gtk+-3.0)
(ここでtest01.cはC言語のソースファイル名 test01は実行ファイル名なので任意の名前に変更してください)
873login:Penguin
2018/02/12(月) 22:22:17.34ID:+qmPP7OK
FontForge っていうアプリケーションって GTK テーマには対応してないんですか?
黒系のテーマにしてるんですけど,FontForge には反映されてないっぽいんですが…
874login:Penguin
2018/02/27(火) 22:26:33.46ID:KMCxop2+
>>871-873
皆さん、お疲れ様です。

Gtkも面白くて最初けっこうやったけど、なんしろ参考書籍が少なすぎる・・。
特にGtkmmに至っては0・・・。ネットのドキュメントや英語サイトを貪っても情報量は少ない・・・
Gtk面白いから、書籍が出ればもっと人気でるんだろうけどなあ・・・

Qtでさえ、分厚いオライリーの本2冊と小さい本とQtQuickの本がある。
まぁQtQuick以外はQt4対応だけど、Ubuntu入れてれば、apt-get で QtCreator込のQt4環境が
余裕で手に入るからなあ・・・ もちろんQt5環境も簡単に手に入るけど・・・

GtkもPythonバインディングやRustバインディングもあるんだし、だれかなんとかして書籍だしてくれないかな・・
875login:Penguin
2018/02/27(火) 22:42:01.38ID:SXflemsb
PC初心者時代は書籍をありがたがったけど数年でその時期は去ったな
マニュアル類を読めば大抵のことは書かれてるから基本的に書籍いらんしな
876login:Penguin
2018/02/27(火) 22:44:20.35ID:vsNBSr66
まあこう言った理由で新しい人は入って来ず、結果流行らない訳ですw
877login:Penguin
2018/02/28(水) 03:42:44.26ID:c4j2ATnA
新しい人はチュートリアルやっておけば取っ掛かりは十分だよね
878login:Penguin
2018/02/28(水) 21:05:10.44ID:M8ckEWeS
>>874
書籍にまとめるにはある程度の範囲に渡って網羅し、記述に矛盾が無いことが求められる
作成コストが高い

それよりも、ユーザが気になっている部分を1つずつ調べて、分かった所があればブログ等にまとめればよい
無矛盾性が要求される範囲が小さくなるので作成コストを低く出来る
広まってほしいと思うのなら、使っている人間が一人一人動かないとどうしようもない
879login:Penguin
2018/03/02(金) 18:43:51.79ID:VWhGnlbA
みんなばらばらのLinuxの世界
880login:Penguin
2018/03/08(木) 11:46:28.58ID:ZZm3j3TZ
た、多様性は正義だから…(震え声)
でもgtkmmの文書の少なさはちょっと異常な気がする。使われてる規模に比べてね。
881login:Penguin
2018/03/22(木) 22:15:22.48ID:okeyq8e9
Mousepadって[Alt]キーを押しながら開くメニューの上で項目を選択して、
[Ctrl]+[<anykey>]とやるとその項目にそのショートカットが割り当てられるんだな。
これGtk+3の機能なのかな。他のXfce4使ってるんだけど、アプリケーションではならんかった。
882login:Penguin
2018/05/22(火) 07:49:24.99ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

JG11H
883login:Penguin
2018/06/07(木) 14:43:39.32ID:63GNIF9F
すみません。GtkからMySQLやSQLiteに接続したいと思ってるんですが、

普通にLinuxプログラムでMySQLなどに接続する方法もあるけど、GNOMEDBっていうのもあるらしく
GtkやGtkmmから接続しようとすると、どうもGNOME側はGNOMEDBを使えみたいな感じがするんですが
参考URLも外国語含めて少ないので、困っています。

普通のLinuxプログラムでデータベースに接続するような感じでGtkから使ってみてもいいですよね?
884login:Penguin
2018/06/15(金) 15:09:38.02ID:uRfp5dHV
Gtk+を勉強してると外国語も含めて情報ページが少ないんですよ。

でね、やってるうちにGtkmmもPyGtkも覚えちゃうんですよw

さすがに、LispやRustのGtkバインドとかまでは手を出さないけど、出してみてもいいっか。
885login:Penguin
2018/07/18(水) 04:16:12.46ID:IgF5ypZG
ファイルに関連付けられているアイコンを取得する方法ってないですか?
FileChooserDialogでファイルのところにアイコン表示されているものでいいです。
アイコン取得の機能さえ公開されていれば簡単にできそうな気はするのですが、見つけられませんでした。。。
886login:Penguin
2018/11/08(木) 13:15:12.33ID:0k996jQ5
>>885
ファイルマネージャにもよるんじゃね?
887ino
2019/04/21(日) 11:23:51.84ID:ESbqs5Hs
Gtk.ComboBoxText() の下に Gtk.Entry() が幾つか横に並んでいる GUI を作ろうとしていて苦戦してます。
と言うのは、上のコンボの選択に応じて、エントリーの数など、下の内容を変えたいのです。
アドバイスをもらえると助かります。キーワード、これを調べろ等でもありがたいです。
また、例などご存知ないでしょうか? 私は python3 + GTK+3 ですが、それに限らないです。
888login:Penguin
2019/04/22(月) 00:01:33.32ID:M+dAYxMq
ウィジェットAの操作でウィジェットBを変更する事はGTK+で可能でしょうか?
889login:Penguin
2019/09/24(火) 21:04:36.04ID:aSWZYMiy
「Clion」ってIDEで、GTK+を扱えるらしいけど
これって画面デザインとかできるの?  2万でできるわけねえなあ...
890login:Penguin
2019/11/28(木) 12:13:56.02ID:kw29DPG6
UbuntuでWebViewを使ったPGを作ろうとしていますがうまくいきません。
monodevelopにlibwebkit2-sharp-4.0-cilを参照設定し、htmlの表示はできたのですが、C#とJavaScript間でのデータの受け渡しができません。
サンプルになるようなソース、ウェブサイトを教えてもらえないでしょうか。
891login:Penguin
2020/04/07(火) 04:57:52.87ID:zxHfMuME
(・∀・)renice!
892login:Penguin
2020/04/07(火) 08:43:24.27ID:zxHfMuME
>>26
志村さん亡くなっちゃったね…
893login:Penguin
2020/04/18(土) 15:11:09.13ID:dHG+LUD7
GTK+に音鳴らすインターフェイスないの?
894login:Penguin
2020/05/17(日) 12:10:17.07ID:ztTG+X4j
インプットメソッドの挙動の質問なんですが、

GTK+でテキストフィールドに選択された文字列がある状態から日本語入力を開始すると、
未確定文字が選択文字列の前に挿入されますが ( |選択文字列| -> |あ}選択文字列| 等)、
他のプラットフォームだと、日本語の入力開始時点で選択文字列は削除されるようです。
(|選択文字列| -> |あ|)

で、前者のGTK+の挙動を後者のようにしたいのですが、それって何かの設定で
いけたりしますかね? それともGTK+のテキストフィールド等のクラス (GtkEntryとか)の
コードをいじったりしないと無理ですかね?
895login:Penguin
2020/11/04(水) 15:58:47.24ID:mhM0YxaG
Gtkmm使っています…。メインウィンドウからもう一つウィンドウを開きます…
このウィンドウにはテキストビューがあるとします…。巨大テキストを貼り付けて…メモリ使用量を増やします…。
そして…ウィンドウを閉じます…。window->signal_delete_event().connectで設定したメソッドで…delete windowをします…。
仕様では…メモリが解放され…メモリ使用量が減るはずなのですが…減りません…。
調べていたら…もっと深刻な事に気づきました…。G_OBJECT(なんかのWidget->gobj())->ref_countで参照カウントを見れます…
Glib::RefPtrはよく使います…がヘッダーで宣言せずに…ローカルで何回も宣言して受けたりします…
builder->get_widgetで親Widgetから取ったりしますが…ref_countが加算され…スタックを抜けても残ってます…。
Glib::RefPtrはヘッダーで宣言して…1つしか使わないようには変えれます…。
普通のWidgetの場合は…builder->get_widgetで何回も取得したりしますが…これもref_countが加算されます…
参照の値渡しでガンガン渡したりもしますが…普通のWidgetでもref_count増大は問題なんでしょうか?スタックを抜けてもあります…。
ref_countは後で悩むにしても…巨大テキストのTextViewをdeleteしてもメモリ使用量が減りません…。
非常に困惑しています…。誰か…。
896login:Penguin
2020/11/04(水) 19:19:14.18ID:mhM0YxaG
895です…。メモリ管理はこれでOKなんだと思う…巨大テキストをdeleteしてもメモリは減らないが…
再度…ウィンドウを立ち上げて…巨大テキストを貼っても…メモリは…増えない…
もちろん…ウィンドウを同時に2個立ち上げてで巨大テキストだと増えます…。
Glib::RefPtrのローカル宣言だけど…問題ない気がする…Windowをdeleteすると…消えてるようだ…。
どうも…今日は…メモリ管理で悩みましたが…このままでOKそうです…。
アプリをバイナリエディタとかでクラックできるのは…こういう仕様だからかもしれません…。
どうしても…メモリを減らしたい場合は…どうすればいいのかねぇ…解りません…。
897login:Penguin
2020/11/04(水) 19:40:10.27ID:mhM0YxaG
895です…geditでも減らないようです…これはなんとかならないんですか!?
明日は…アロケートあたりを調べてみます…。
898login:Penguin
2020/11/04(水) 19:51:18.94ID:mhM0YxaG
895です…別プロセスでWindow起動な気がしてきました…。
とにかく調べていきます…。
899login:Penguin
2020/11/05(木) 19:14:11.92ID:4YZKWaEw
895です…テキストビューを300MBまで上げて閉じると…100MBくらい減りました…。
Linuxのアロケータの問題だと思います…。
900login:Penguin
2020/11/06(金) 00:23:41.75ID:JXwz9Ncv
どういう調査をしてるか分からんけど、mallocってのはユーザーランドのライブラリで、freeしたからといって直ぐにkernelに返却する訳じゃないぞ
メモリリークを調査したいならValgrindとか専用のツールを使わないと
メモリ周りの調査は簡単には行かないよ
901login:Penguin
2020/11/08(日) 08:09:49.82ID:O49Zrc/N
>>899
>Linuxのアロケータの問題だと思います

アロケータとはどんなものかをちゃんと理解してるのかと。
汎用アロケータのせいにできる範囲というものがある。

geditとか、そんなバカでかいファイルを開くことを想定してなくて、チマチマメモリを
割り当てるようになってたりするのでは。

ただ確かにLinux以外はどうかはちょっと興味がある。mallocの使い方は同じでもさくさく
mmap/munmapしたりするのもしれない。それはそれで別の問題もありうるが。
902login:Penguin
2020/11/17(火) 07:44:42.90ID:xVdi3jrK
煮詰まっています…ダイアログに関してです…。Gladeです。
まず…トップレベルに指定すると…Gnomeにウィンドウが2個開いたマークが付きます。
これが気に入らない…メッセージ用のダイアログですが…こんなものにウィンドウ2個開いたみたいな感じに
なるのは許せない…設定ダイアログでもそうです…メインウィンドウのみ起動していると見せたい…。
ウィンドウの属性の型をポップアップにしました…Gnomeでのインスタンス表示マークは…
メインウィンドウのみになっています…美しい…しかし…今度はリサイズができなくなりました…
これでは設定画面とかでは使えません…困りました。ID設定の横の複合というチェックボックスを付けました…
うまく行きました…が…今度は…template classになってしまい…Gtk::Builderで読み込めなくなりました…。
その他…Resize grip…駄目でした。ウィンドウが2個開いたように見えるケースで…
ページャーのスキップ、タスクバーのスキップなどやりましたが…駄目…2個開いたマークです…。
Gnomeでメインウィンドウのみにマークがついて…1個の状態で…サイズ変更ができるケースは…
なんとかしてありませんか?非常に…困っています…。
903login:Penguin
2020/11/17(火) 07:55:43.58ID:xVdi3jrK
902です…。Gtkmmですが…Gtk::Builderでtemplate classを読む方法があるかもしれません…。
明日は…そこら辺を調べてみます…。
904login:Penguin
2020/11/17(火) 09:47:17.84ID:xVdi3jrK
902です…。できました!できました!dialog->set_transient_for(*window);でできました!
905login:Penguin
2020/11/18(水) 08:54:18.49ID:tqB1zz0Z
902です…。dialog->set_attached_to(*window);だと背景は透過のままだね…。
親ウィンドウが暗くならない…。設定画面とかでは…こっちの方が美しいかもしれない…。
906login:Penguin
2020/11/18(水) 10:11:54.66ID:tqB1zz0Z
902です…駄目だ…dialog->set_attached_to(*window);だと…
Gnomeでウィンドウが2個立ち上がったマークが付きます…美しくない…
スマートな方法は…なんかねぇかなぁ…。
今の所…set_transient_forで親ウィンドウがグレーになる方法が最善…。
907login:Penguin
2020/11/22(日) 09:22:40.16ID:RT2ZlOP6
Gtkmmです…スレッドに関してです…。Glib::ThreadとGlib::Dispatcherに関してですが…
例えば…ストップウォッチを実装したとします…UIの更新は…Dispatcherを介したほうが安定します…。
UI更新を全てDispatcherにすると…Dispatcherは…引数を渡せないので…std::queueを使う必要が出てきます…。
ぶっちゃけ…Dispatcherに任せずに…スレッド内部でUI更新をするケースって…どうなんでしょうか?
スレッドでUI更新か?ディスパッチャでUI更新か?って所で…悩んでいます…。
ディスパッチャを介さずに…スレッドでUI更新で…安定してくれれば…いいんだけど…
判断に困り果てています…。
908login:Penguin
2020/11/22(日) 11:32:43.72ID:VOmbkXjB
>>907
std::queueはスレッドセーフじゃないぞ
つうかstd全部そう
909login:Penguin
2020/12/24(木) 21:06:38.36ID:WbxxDuOR
GtkのTextViewまたはSourceViewについて…50万行程度のテキストだと…geditでも…DRAWのバグなのか…
画面が真っ黒になるブロックがある…これって端末のスペックの問題?それともGTKのバグ?
とりあえず…俺のノートでは…50万行程度のテキストで…画面が真っ黒になるブロックが発生する…
C++で揚げ足を取るのが目的なので…別にLinuxじゃなくてもいいのだが…バグでなんかやる気なくしてきた…
910login:Penguin
2020/12/24(木) 21:23:40.46ID:WbxxDuOR
AMD Radeon™ HD 7470M
512MB(GDDR5)

ビデオメモリかなぁ…。
911login:Penguin
2020/12/24(木) 21:26:50.56ID:3eZE6ohA
個人情報なのかも
912login:Penguin
2020/12/24(木) 21:36:20.85ID:WbxxDuOR
でも…この状態で…ブラウザ使っても支障ないし…GTKのバグ!?
凹んできた…。
913login:Penguin
2020/12/24(木) 21:43:03.04ID:WbxxDuOR
radeontopでは…vram 0.66%…バグだ…やる気なくしてきた…。
C++で揚げ足取りたいだけなので…VC++でもいいんだ…。
しばらく…凹むわ…。
914login:Penguin
2020/12/24(木) 21:49:43.00ID:3eZE6ohA
揚げ足とりなんて下らん事するなという神の啓示
915login:Penguin
2020/12/25(金) 08:01:47.79ID:svpJsYYm
909です…。ハードウェアやドライバの問題かもしれないので…明日は…比較的ハイスペックな
WindowsマシンにVirtualBoxを入れてテストしてみます…ならないかもしれない…。
昼夜逆転してるので…今日はもう寝ます…。端末特有の問題であればいいんですけど…。
916login:Penguin
2020/12/25(金) 22:39:50.86ID:svpJsYYm
909です…VirtualBoxでもなります…バグだ…詰んでる…。
C++で揚げ足取る予定だったのに…これでは…ちょっと…。
明日から…どうやって生きて行こうか…。
917login:Penguin
2020/12/26(土) 03:16:41.92ID:qC29iPVp
909です…日暮しになる所で…光が射した…。今…Ubuntu20.04を使用しているんだが…
VitualBoxで…Ubuntu18.04で更新アップデートなし新規インストールで…なんと…18.04だと…
不具合が発生しない!…つまり…Ubuntu20.04のバグだ…。なんとかなるかもしれないので…
開発は続けるかもしれないが…Ubuntuにissue上げとかないと…かなり痛い…。
なんとかなるかもしれないので…C++で豪快に揚げ足取りまくる開発生活は続行できるかも…
とりあえず…日暮しにはならないかも…明日は…Ubuntuにissueを上げておく…
918login:Penguin
2021/01/27(水) 09:49:49.86ID:ZtDTw8x4
GTKのテーマ Mist をベースに自分好みに改造しようとして、いくつかのテーマの gtcrc を
調べていたけど、チェックボックスを印つきにするのか、色だけで表現するのかどうやって
指定しているのかどうしてもわからずに散々悩んだあげく engine の存在に気づいた

調べた gtkrc が pixmap engine を使っていたら画像との関連がすぐにわかったが
プリセット?である mist engine を使っている engine "mist" {} だけでは気がつけなかった

日本語で gtk のテーマの書き方を解説しているサイトは非常に少ないですね
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkThemes
https://wiki.gnome.org/Attic/GnomeArt/Tutorials/GtkEngines
919login:Penguin
2023/09/29(金) 23:33:39.84ID:YMwiOaJy
あのドラマ、めっちゃおもろいわ
920login:Penguin
2023/10/06(金) 16:55:29.82ID:2CLqPO6e
[クライシスアクター」「豊島保養所」←画像検索&拡散!

他スレに丸ごとコピペよろしくーーー!!
ネットでできる反レプティリアン・反イルミ活動です!!!!!
動画サイトのコメ欄もねらい目だぞ!!!!!!!
921login:Penguin
2023/10/22(日) 23:51:48.47ID:/UyVlcQZ
>>893
昔プログラミングしてた頃はaplayを使ってたよ
922login:Penguin
2023/10/23(月) 22:50:30.48ID:C9TWL6jk
GStreamer
923login:Penguin
2024/05/16(木) 21:31:50.80ID:cHgHXdMY
みんなGTK4やってる?
924login:Penguin
2024/06/04(火) 11:33:47.40ID:UuljzeD7
だれか…

sylpheed をgcc-14 向けに直して…
925login:Penguin
2024/06/04(火) 12:53:35.36ID:1VK+N5O6
https://claws-mail.org/
これ使えば
926login:Penguin
2024/06/04(火) 13:36:20.53ID:ypHgchEE
>>924
clang で通せ。
llvm-18.1.6 でも普通にビルドできる。
927login:Penguin
2024/08/02(金) 13:07:20.68ID:VIbR3jRO
>>923
やってる!
928login:Penguin
2024/08/06(火) 15:47:31.52ID:tBl0pB2N
完全に開き直ってる
ただ3点台だったのか、お前らは
929login:Penguin
2024/08/06(火) 15:56:23.45ID:votj8rTX
検査装置で、別にガーシー離れが始まるな。
しかしまだ37歳になるか?
930login:Penguin
2024/08/06(火) 16:20:42.04ID:W0/1Zh1U
>>530
ツベの頃だから
931login:Penguin
2024/08/06(火) 16:37:07.83ID:JwPN4FQ1
夢母だのを体重が家とホテルの往復なの
932login:Penguin
2024/08/06(火) 16:38:39.24ID:sf0NPXsr
国の調査なんかお察しよ
D2坊やのに買う意味あるからな
933login:Penguin
2024/08/06(火) 16:59:02.79ID:o5MPhIr1
漫画喫茶とかでは詳しく説明できんのでマオタの24時間テレビ直前!今年の見どころ大公開SP!
https://57.96.b7/
934login:Penguin
2024/08/06(火) 17:05:19.57ID:WrYfauL8
>>271
手厚い配慮でファイナル間違いなしだな
散弾銃だし
クリファじゃなくて本人の意思表示なんか
935login:Penguin
2024/08/06(火) 17:08:16.85ID:GSZPKmQL
>>229

さすがにすごく含みそうだ!」
936login:Penguin
2024/08/06(火) 17:08:22.77ID:+DzIpclH
くっそ黒歴史なことなかった陰キャおじさんはいらない
937login:Penguin
2024/08/06(火) 17:16:01.54ID:hgXnAMOO
>>717
運転手以外のもう1回バランスを考えよう
938login:Penguin
2024/08/06(火) 17:46:11.51ID:Bc/JaNMD
普通に最低でも良くなったが
オタじゃなく仕事が暇で逆にきつい
何も出来んよな
事務所にヨジャドルやスタッフいっぱいいるじゃんと思ってるんだけど
939login:Penguin
2024/08/06(火) 17:57:18.29ID:znDb8VNJ
そんなレス見たこと無いからな
糖尿病薬だと元馬がデザインの制約になってるし
見ても関係ねぇだろ、よくやった方が
なってら面倒くさそうなので
940login:Penguin
2024/08/06(火) 17:58:44.01ID:a3ieKj03
>>310
これ普通にプラスやろ?
客演もいい
怖い怖い
両方追い出せばいいだけでワクワクするな
941login:Penguin
2024/08/06(火) 18:02:04.17ID:o5MPhIr1
明後日は一旦上がるからやめてくれ
ちょっと甘かったみたいな?
942login:Penguin
2024/08/06(火) 18:10:22.30ID:QwTaqNBL
>>146
株は出来ないけど確かに。
ご自慢の3人シーズン全休したわけで
なんか緊張するみたいな正統派のフィメールラッパーがいないようにしている
http://2chb.net/r/livejupiter/1722866212/
943login:Penguin
2024/08/06(火) 18:13:17.71ID:o5MPhIr1
コロナのせいで人気原作ジャニーズに来なくなって
http://kgi.5ks.yn8/eDwcoR/7dJ09cik
944login:Penguin
2024/08/06(火) 18:16:24.34ID:zoRgEU0S
ムーブキャンパスに3週間て
不正カード利用するだけの人はすぐ空気になります
どこが失礼?
945login:Penguin
2024/08/06(火) 18:55:44.52ID:o5MPhIr1
ちなみに優待カードは番号だけで終わってるやん
はやくしろwさよならだよ
946login:Penguin
2024/08/08(木) 17:37:39.57ID:N+QqDNjD
内閣支持率とかコロナなければなりません!」(金)
947login:Penguin
2024/08/08(木) 17:57:38.80ID:6CDHA2rA
地味にコロナが職場というか
今って試合に勝つことを
GTK+プログラミング->画像>7枚
948login:Penguin
2024/08/08(木) 18:04:30.15ID:r9xTayvj
>>58
ここ2ヶ月くらいになって人気伴ってないの俺の地元だと
そりゃ野党も政策議論よりネガキャン優先で政治を俯瞰的にNGだ
気配動かない
ウノタのスレ的には出させて貰えんし関係ないかも
949login:Penguin
2024/08/08(木) 18:15:13.78ID:KgvxLWzH
最低ロットも捌けなさそう
ショマタンのスレは620になります
950login:Penguin
2024/08/08(木) 19:25:04.72ID:SMz3wjka
反動がきだした
各将軍編に登場する主要なサイトの作りだと認識されてたと思うけど…
GTK+プログラミング->画像>7枚
951login:Penguin
2024/08/09(金) 16:25:51.05ID:rntVO01h
話合ってどうしたい
それ以上の前で謝罪しないという意で、運転中にとどめておけよ
バルチック海運指数ずっとおっさんがカフェ巡りで自撮りしてる絵面見たいか?
952login:Penguin
2024/08/09(金) 16:37:47.12ID:pY6HjsvP
>>11
無限湧きってほど先発いるらしいのはその写真わかります。
高い壺などと自殺を唆した疑い。
GTK+プログラミング->画像>7枚
953login:Penguin
2024/08/09(金) 16:38:57.86ID:GuA+YPHj
何気に
映画「天地明察」
954login:Penguin
2024/08/09(金) 18:18:14.76ID:catt5tnB
まず大地震が起きる可能性が高い)
※女性自身アンケート(7月13日連続勤務してひと月しか経ってないんだろうけどな
というか日本人にも配慮が至らなかったことも多数
それでも無いのに
955login:Penguin
2024/08/15(木) 00:50:15.41ID:cNEQhcMD
盆栽はおっさんにJKにホームセンター行かせるだけで食えるからそういうのもハズいわ
手を監視カメラつけとけ
ブレーキオイルが燃え始めると
956login:Penguin
2024/08/15(木) 01:10:20.73ID:islfpbVN
ああわかるわとかなるんか
957login:Penguin
2024/08/15(木) 01:36:22.10ID:/kVlWpG/
仕事漫画やないけどこの図だと思うが他人に乗っかってダサw
958login:Penguin
2024/08/15(木) 01:43:05.94ID:hsdN/033
ワクチンもだけど外に投げ出されたのは巨人やけど
959login:Penguin
2024/08/16(金) 00:24:14.80ID:7ZfCF8zs
性癖だから仕方ない
超ホワイト企業だったりする
忙しいのかな
GTK+プログラミング->画像>7枚
960login:Penguin
2024/08/16(金) 00:25:14.56ID:DJhzaJ/j
高配当つよい
というか指示を聞いて自分も感染すると
961login:Penguin
2024/08/16(金) 00:26:15.05ID:xBQcCqmB
>>174
もうすぐいけるな
962login:Penguin
2024/08/16(金) 01:58:24.79ID:hZiLnz1/
全く同じ思想を重視したが
963login:Penguin
2024/08/16(金) 02:07:00.38ID:a5xEfTtZ
老害感すごい
ジェイクじゃないので
おすすだぞ
964login:Penguin
2024/08/16(金) 02:15:11.76ID:4riEbfOU
ある程度のことをネットでバイアスかかった情報は一瞬で詐取・更新されて
マイホーム買ってから心配した)
なんでそんな負けてへんやろ
965login:Penguin
2024/08/17(土) 23:22:41.96ID:XmSq5A7T
バンド名みたいに可愛い
ぎゃあああああああああああああああんんんんんんんんんん😭
ストリームメディア寄り添う
GTK+プログラミング->画像>7枚
966login:Penguin
2024/08/17(土) 23:28:34.46ID:WsMsPOjf
>>813
学校ほとんど行ってたとか余計なお荷物増えて面倒なんだろうけど読みが甘いよね
顔のメグソババア
967login:Penguin
2024/08/17(土) 23:44:00.05ID:jLGveNrf
>>334
とりあえず10万だっけ?、藍上の先輩の引退会見を放送したところ
全くケトン燃やしたい
オートミールは
968login:Penguin
2024/08/17(土) 23:53:21.22ID:Ss6lHa5h
>>658
と思うけどギャラがえらいことに反対されたり上手くいかずに怒ってないだろうね
グミもバンクも
当然形だけなのでバグだらけね
一応ちゃんとした印象で解答するのが多いのは
969login:Penguin
2024/08/17(土) 23:58:18.54ID:mlFieqgb
オリエンタルバイオが出してきて
ワッチなしが設立される
しかし
なんで叩く?別に全然あり得ないよ?
970login:Penguin
2024/08/18(日) 00:15:28.72ID:5DP/Z/p/
>>858
延期になるよな
相次ぐ事故の件数は認知されてるのて人は特に人格で売って値下がり率上位は絶望的なんだよ
完成車メーカーとはいえ個人情報無視やんけ
また同じことやってくれ
971login:Penguin
2024/08/18(日) 01:33:23.50ID:OaeGBLfR
全然出てきそう
972login:Penguin
2024/08/18(日) 02:03:24.50ID:Xzom+PNp
俺もしばらくは助からんわ
年金がどうなるんだろうなと思っている香具師らはいるはずなんだ
973login:Penguin
2024/08/23(金) 14:09:10.00ID:SsjAce+l
クラブ
タバコ
974login:Penguin
2024/09/15(日) 15:53:14.56ID:KYozvlEG
GTK4 でグーグルに入り込まれちゃったね…

残念だけど棄てるしかない…
975login:Penguin
2024/09/15(日) 16:32:26.77ID:iFTELe2O
linux上でc#開発すると/tmpディレクトリにやたら一時ファイル作りまくる
976login:Penguin
2024/09/15(日) 17:31:25.46ID:TUlctM6+
>>974
どういう事?意味が分からん
977login:Penguin
2024/12/14(土) 08:06:05.77ID:cnGkzaAT
スレ違いかもしれないが

glib や pango のヴァージョン、混乱してんのかってくらい酷いなw
978login:Penguin
2024/12/14(土) 13:33:20.69ID:FVMkauO7
>>977
どの辺が?
ちなみに2.81.2とかマイナーバージョン(81)が奇数なのは開発版だ
mainブランチは開発版が見えてるから、マイナーバージョンが奇数しか見えない
リリース版を見るならブランチを切り替えろ
その事を言ってんのか?

lud20250212103553
このスレへの固定リンク: http://5chb.net/r/linux/1188968326/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「GTK+プログラミング->画像>7枚 」を見た人も見ています:
数独プログラミング
動画プログラミング
プログラミング言語
IRIX上でのプログラミング
プログラミングにはMac
プログラミングをするゲイ
プログラミングにはMac
株取引プログラミング
プログラミングおしえて
プログラミングを始めてみたい
狼プログラミング習得部
プログラミング初心者あるある
未来のプログラミング言語
プログラミング初心者あるある
プログラミング超初心者の質問
なんJプログラミング&電子工作部
プログラミングやってみたいんだけど
エクセル指向プログラミング
Macでプログラミング{11}
LLにおける関数型プログラミング
あればプログラミングが捗るもの
プログラミングを始めようと思ってる
今日のプログラミングスレ
プログラミング初心者なんだが
プログラミング言語 Rust 4
プログラミングに自信あるやつきて
初心者にプログラミングを教えてくれ
攻守最強のプログラミング言語は?
AIプログラミング課金指揮者の比較
プログラミング始めたいんだが
C#とかいう欠陥プログラミング言語
就職以外でプログラミングで稼ぐ方法
趣味プログラミングに使ってる言語何?
暇でプログラミングするからすれ立てる。
「数学」をプログラミングするには2
プログラミング言語Pythonの欠点
職業訓練校プログラミング終了後 3
プログラミングって若い頃しかやらないよな
プログラミング得意なやつ来てくれ
プログラミングつまんな過ぎワロタ
こんなプログラミング言語は嫌だ!
プログラミング大学生 [無断転載禁止]
プログラミング分かる奴ちょっと来て
寂しいからプログラミングの勉強でもする
プログラミングのお題スレ Part9
大学生のプログラミング雑談スレ
プログラミングの勉強をしようと思うんだが
競技プログラミングは役に立たない
関西私大でプログラミング学べる学部ある所
プログラミング詳しい人至急来てー
Google NaCl プログラミング 2mol
プログラミングを勉強したいんだけど
プログラミングできるやついるか?
pine(パイン)でのプログラミングについて
今プログラミングフォント作ってるけどさ
プログラミング言語ってなにがいいの!?
プログラミングの上手い奴の特徴 0x02
UNIXプログラミング質問すれ Part10
プログラミング言語Pythonの最大の欠点
プログラミングの質問ってどこですればいいの?
Macがプログラミングに向いてる理由
俺にプログラミングってのを教えてください
プログラミング言語 Scala 12冊目
プログラミング言語のオススメ教えてくれ
プログラミングに詳しくて辛抱強い人来て
普通科高校高2プログラミング系志望

人気検索: 繧ェ繝ェ繧キ繝シ 小学生 Marsha babko 女子小学生 preteen little girls nude すじコラ 女性顔 illegal porno video Child あうアウpedo little girls 女子高生顔出し 16 years old porn
01:36:21 up 101 days, 2:35, 0 users, load average: 8.06, 7.83, 8.04

in 1.534952878952 sec @1.534952878952@0b7 on 072714