GTK+プログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2007/09/05(水) 13:58:46ID:2SORZMjm-前スレ-
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/
0026login:Penguin
2007/09/20(木) 01:24:41ID:7HBhJoi6ありがとう。ソースみてみるわ。普段gnomeじゃないんで盲点でした。
>>24
志村、スレタイスレタイw
Qtスレってあるんかね?
0027login:Penguin
2007/09/20(木) 04:29:38ID:jv4IvgQUム板にある
http://pc11.2ch.net/test/read.cgi/tech/1130300775/
0028login:Penguin
2007/09/22(土) 22:29:28ID:mUDAWFkC0029login:Penguin
2008/03/20(木) 13:39:07ID:oScjO3eR統一感出たのはいいが見た目がしょぼい……
0030login:Penguin
2008/03/21(金) 08:04:49ID:JTozrZN4廃れすぎてるよ。
プログラミング板に行った方がいいのかな?
でも、プログラミング板のは、Windows限定だしな...
0031login:Penguin
2008/03/21(金) 10:35:43ID:3ULYcj2Hこっちでやりたいなら何か話題振ってみれば?
0032login:Penguin
2008/03/22(土) 21:13:17ID:AyZW6HyOみなさんの開発環境(IDE)は何を使ってますか?
オレはAnjuta+glade
もっと優れたIDEあるのなら教えてほしい
0033login:Penguin
2008/03/22(土) 21:33:51ID:ldkQa/0V0034login:Penguin
2008/03/22(土) 21:37:55ID:AyZW6HyOハイハイワラタワラタ
それで何をつかってる?
0035login:Penguin
2008/03/22(土) 21:39:06ID:ldkQa/0V0036login:Penguin
2008/03/22(土) 21:59:17ID:AyZW6HyO吊れますか?
IDE(Integrated Development Environment:統合開発環境)
widestudioとか kylixとか
0037login:Penguin
2008/03/22(土) 22:01:53ID:aYSHgKNtANJUTAのヘルプナビは便利だけど他の部分はCDTのがよいからなあ。
0038login:Penguin
2008/03/22(土) 22:06:40ID:lxQ3nqhWちなみに俺もanjuta+glade使ってる。
そういえば誰かGtkBuilderを使ってる人とかいる?
俺はまだlibgladeから抜け出せないよ。
0039login:Penguin
2008/03/22(土) 22:08:12ID:lxQ3nqhW0040login:Penguin
2008/03/22(土) 22:13:46ID:ldkQa/0Vだから釣りじゃなくて使ってないと何度言えば。聞いたから答えただけ。
javaだとIDE使うケースが多いだろ?eclipseとかさ。
make gcc glade ・・・viでconfigure/makefileをゴリゴリだよ。
こんなん好きずきだろ。
0041login:Penguin
2008/03/22(土) 22:19:12ID:gdnM02dF0042login:Penguin
2008/03/23(日) 01:33:29ID:zAd/2L2SできるバージョンのAnjutaの動作がおかしいので仕方なくgeditのみ。
だれか必要なツールを含めたAnjuta環境の簡単なインストール方法知ってたら
教えてくれまいか。ネットを参考にしてソースから手作業でやろうとしたんだが、
複雑&面倒過ぎで挫折しますたorz
0043login:Penguin
2008/03/23(日) 10:17:18ID:OBasJEH+Ubuntu7.10のベータの頃は確かに挙動がおかしかったので
しょっちゅう落ちまくってましたが。
入れたのは「anjuta」と名のつくパッケージと、wxGtkのdev関係のVer2.8を片っ端から。
ちなみに今はanjutaの新規プロジェクトで選択できるwxWidgetsプロジェクトが一番楽なので
頼り切ってます。
0044login:Penguin
2008/03/23(日) 11:17:19ID:1HFMv5QvGNOME端末
ddd
0045login:Penguin
2008/03/23(日) 14:53:17ID:oxSgYePU0046login:Penguin
2008/03/23(日) 18:19:48ID:DWfALAId開発環境スレ (・∀・)デヴェロォォォップ!!
http://pc11.2ch.net/test/read.cgi/linux/1039282447/
0047login:Penguin
2008/03/24(月) 01:38:53ID:Qk/VKx6p0048login:Penguin
2008/03/24(月) 02:38:12ID:xdVA6Pwkつーかプログラム系のスレはどこも廃れてんだから
あんまりわけることないよ。
ム板でって話もあるが
そもそもLinuxからプログラミングの話抜いたら
インスコの話しかのこらん。
0049login:Penguin
2008/03/24(月) 21:13:51ID:w0tQmto2ビルドできれば満足なことに気がついた。
gladeでぐぐって出てきたページを参考にやったら簡単にできたorz
0050login:Penguin
2008/03/24(月) 21:16:44ID:q1u759xh0051login:Penguin
2008/03/25(火) 21:27:24ID:f22Hmaeaglade2のソースを吐く機能っていうのは確かに手軽だけど、
吐くソースがobsoloteになってしまうとか、色々と不具合の温床になりそうだから、
glade3での機能廃止もしょうがないと思っちゃうんだよね。
所で、gtk-docで作る文書の国際化って結構めんどいね。
html2poと自作スクリプトで頑張ってみようかなって思ってるけど、
なかなかスマートにいかないや。
0052login:Penguin
2008/03/25(火) 22:04:32ID:Mm1m5DLOう〜ん、それなんかなかったかなぁ?どっかでみたような。すまん思い出せん。
0053login:Penguin
2008/04/29(火) 19:11:04ID:26XTARAt質問があります、gtkを使ったプログラミングをしたいのですが
コンパイルがうまくいきません
Vine Linuxを使っています。
% rpm -qa | grep gtk+
gtk+-1.2.10-0vl6
となっていますが
% gtk-config
gtk-config: コマンドが見つかりません.
となってしまいます、なぜでしょうか?
0054login:Penguin
2008/04/29(火) 19:17:39ID:cCcJpKWpdeb系はよく知らないけどdevelみたいなのが必要なのかね。
0055login:Penguin
2008/04/30(水) 12:15:31ID:tQtvI8CE0056login:Penguin
2008/05/30(金) 13:13:29ID:kzcW1sj3vineの事は良くわからんけども、
見たところ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みたいな感じの…。
005756
2008/05/30(金) 13:16:35ID:kzcW1sj3てっきり昨日質問したのかと…
0058login:Penguin
2008/05/30(金) 14:22:37ID:ann5FY58gtkでプログラミングをしているのですが、うまくいきません。
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秒置きに画像が表示されません。
強制的に再描画させる方法などありましたら教えてください。
お願いします。
0059login:Penguin
2008/05/30(金) 14:43:11ID:GKY/CzaGを挟むとか。
g_timeout_addを使う方法もあるね。
0060login:Penguin
2008/05/30(金) 15:17:07ID:ann5FY58while (gtk_events_pending()) gtk_main_iteration();
でうまく動きました。
助かりました。
0061login:Penguin
2008/06/01(日) 12:51:26ID:Qfk/evfCスタートをクリックしたらマウスカーソルを10秒間消したいと思っています。
カーソルを透明にしてやればいいと思うのですが、
よくわかりません。
よい方法がありましたら教えてください。
0062login:Penguin
2008/06/01(日) 14:26:49ID:vBepI6CXimport 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()
0063login: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()
0064login:Penguin
2008/06/01(日) 15:01:10ID:Qfk/evfCc言語でコーディングしているので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とでてしまって消えない状態です。
0065login:Penguin
2008/06/01(日) 15:32:14ID:vBepI6CXgdk_window_set_cursor() の呼び出しはちゃんとしてる?
0066login:Penguin
2008/06/01(日) 15:36:53ID:Qfk/evfCGtkWidget 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
と出ているので呼び出しでエラーになっていると思います。
0067login:Penguin
2008/06/01(日) 15:41:29ID:vBepI6CXint 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;
}
0068login:Penguin
2008/06/01(日) 15:45:23ID:vBepI6CX0069login:Penguin
2008/06/01(日) 16:04:31ID:wQKPJ8Cz0070login:Penguin
2008/06/01(日) 16:10:28ID:Qfk/evfCwindowの上に、水平ボックスや垂直ボックスをパッキングしているから
gdk_window_set_cursor(window->window, cursor);
で消えないとかはありますか?
gtk_widget_realizeについて調べてみます。
gtk-config --version をしたら1.2.10とでてきました。
0071login:Penguin
2008/06/01(日) 16:17:00ID:Qfk/evfCソースはこうなってます。
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();
0072login:Penguin
2008/06/01(日) 16:17:54ID:Qfk/evfCgtk_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);
0073login:Penguin
2008/06/01(日) 16:20:38ID:Qfk/evfCgtk_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;
}
0074login:Penguin
2008/06/01(日) 16:46:47ID:vBepI6CX0075login:Penguin
2008/06/01(日) 16:51:52ID:Qfk/evfCバージョンをあげてからやってみます。
0076login:Penguin
2008/06/02(月) 16:55:12ID:2n4LDSUT不勉強で付属のチュートリアルだといまひとつ良くわからなかったもので…。
0077login: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
0079login:Penguin
2008/07/20(日) 20:11:46ID:hZzIJHG7http://pc.watch.impress.co.jp/docs/2008/0630/amd.htm
0080login:Penguin
2008/09/15(月) 23:03:03ID:EmRnvQ2i0081login:Penguin
2008/09/22(月) 21:01:49ID:8vBcGsdH0082login:Penguin
2008/10/18(土) 23:02:28ID:3BBs8DQQgtkmmかGtk#辺りが無難なのかなぁ。
GNOME公式のアプリにもC#で書かれたモノが増えてきているようだし。
外国ではPythonで書かれたアプリも沢山あるみたいだけど、
国内だと情報が少なそうだしな。
0083login:Penguin
2008/10/18(土) 23:10:39ID:QtgieN1gGNOMEにはpythonアプリたくさんあるしね
0084login:Penguin
2008/10/18(土) 23:12:21ID:7K6B6OYK0085login:Penguin
2008/10/18(土) 23:13:41ID:HfwrrshF0086login:Penguin
2008/10/19(日) 00:01:40ID:fwxWu968JDのソースとか参考になるかなぁ。
> どうせ英語は読むことになるから
ですよねーorz日本語の情報少ないもんなぁ…
> Gtk#はないな
そうなのか?
Novellが関わってるのがアレだけど、C#は覚えやすいと思うんだが。
>>85
> Cでシコシコ
漢
0087login:Penguin
2008/10/19(日) 00:04:39ID:f0AiiEyf0088login:Penguin
2008/10/19(日) 12:37:59ID:mBsqsk/K0089login:Penguin
2008/10/19(日) 14:31:15ID:lf2/OYv6移植性とかいいだすのが間違いのもと。
まずはc#, javaの排除から。
つーか、そういうのってmsやsunの儲けにしかならんよね、実際。
0090login:Penguin
2008/10/19(日) 18:09:25ID:ZgmXTrMtデスクトップにフィットさせて表示(大きい場合は縮小表示)させたいのですが、
パネルとかウインドウマネージャの装飾を考慮して、画像を表示できる最大の
サイズを知りたい場合、どうしたら良さそうですか?
探してはいるものの、なかなか良さそうな手が見つからないです。
0091login:Penguin
2008/10/19(日) 19:54:56ID:3IMHrYAserlgtk使いの人とかどう?
0092login:Penguin
2008/10/19(日) 20:28:12ID:Su20jt3Yウィンドウを maximize した時にでるシグナルの中でウィンドウ
サイズを取得して、画像のサイズを拡大縮小とか。
これだと、ウィンドウが出てから画像が出るまで、間が空くか?
009390
2008/10/20(月) 00:25:14ID:s5JT3EOQレスありがとうございます。
やっぱり、そういうちょっと強引な方法しかないんですかね。
せっかく教えてもらったんですが、ちらつきそうなので、できれば避けたいです。
今は、スクリーンサイズを取ってきて適当なサイズで妥協しています。
何かあっても良さそうなのになぁ。。。
0094login:Penguin
2008/10/20(月) 00:34:47ID:upSqhUNX"expose-event"シグナルかな、rubyであるのかは分からないけど
0095login:Penguin
2008/10/20(月) 02:08:26ID:RwkYMDWR昔SunのJDKのソースを読んでいたことがあるんだが、当時のJDKの実装では、
1) 使われているwindow managerを特定
2) 有名(あるいは標準的と言うべき)なwindow managerであれば、
それぞれのwm固有の枠部分の装飾手段(Windowの重なり具合など)
の知識を基に、今有るウィンドウの親を手繰ってwm由来部分を調査し
wm由来部分のサイズを決定
3) 知らないwmは非サポートってことで適当に……
なんてことをしていた
ここ数年で提案されてない限り、良い方法はないと思われ
0096login:Penguin
2008/10/20(月) 05:08:18ID:mB1jem32強引というならそれをやる前に知ろうとする方が強引のような。
それにGTK+はデフォでdouble-bufferedだから何も考えなくてもちらつきしない。
0097login:Penguin
2008/10/20(月) 07:37:12ID:DDLH0hrK> 実際にmaximizeするしか知る方法はないだろう?
> 強引というならそれをやる前に知ろうとする方が強引のような。
同意。それ以外のやり方してるソフトなんてないのでは?
009890
2008/10/20(月) 21:27:41ID:s5JT3EOQ>>94
ごめんなさい、"expose-event"シグナルはrubyでもあるのですが、94さんの意図が
よく理解できませんでした。
>>95
詳しい情報ありがとうございます。
Sunの人でさえ、そういう実装をされているくらいだから、簡単な方法は無さそうですね。
>>96,97
そんなことを簡単に知ろうという方が間違いですかね。
ちなみに、ちらつくと書いたのは、実際maximizeしてからサイズを取ってくるとすると
画面に表示することは避けられず、一瞬maximizeしたウインドウが見えてしまうという
意味で書きました。
まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
誤解しているかも知れませんが。
009994
2008/10/20(月) 23:02:02ID:upSqhUNXすみません、>>90さんの要求を正しく理解していませんでした。
最大化できるサイズを求めるというのではなくて、あくまでアプリ側で必要な
サイズ(GtkRequisition)と、実際に獲得できたサイズ(GtkAllocation)
で実装するのはいかかでしょうか?
0100login:Penguin
2008/10/21(火) 02:53:13ID:5A1QOuH6> まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
> 誤解しているかも知れませんが。
どう考えてもこれがガンだろ。呆れた。
010190
2008/10/21(火) 23:21:31ID:rjo5j4+k色々、考えて下さり、ありがとうございます。
>>100
まあ、そう言わんで下さい。
皆さんに教えて頂いたことをヒントに、時間が取れるときに
もっと勉強しようと思います。
レスをしてくれた方々、ありがとうございました。
0102login:Penguin
2008/10/22(水) 01:14:52ID:1Hw6zT+4配列なりで得たいと考えています。
調べてみたところ GtkFileChooserDialog は単一ファイル|ディレクトリ
にしか対応していないようなのですが、上記のような機能は自前で実装す
るしかないのでしょうか。
0103login:Penguin
2008/10/22(水) 01:40:40ID:TbaNGOlUgtk_file_chooser_set_select_multiple()
gtk_file_chooser_get_filenames()
の組み合わせじゃ駄目なのかい?
0104login:Penguin
2008/10/22(水) 10:25:49ID:ApulL45sありがとうございます。完璧に私の調査不足でした。
教えていただいた方法でいけそうです。
0105login:Penguin
2008/10/25(土) 10:14:11ID:dTl3thQmさすがにウィンドウ別に分けて出力はしてくれないけど。
0106login:Penguin
2008/10/25(土) 15:02:49ID:AakIN1gIホットキーから呼び出すにはどうすれば
やはりgconf弄らないと無理なのでしょうか。
0107login:Penguin
2008/10/25(土) 17:13:44ID:zQTl7fNiそりゃXならウィンドウマネージャの仕事だ。
0108login:Penguin
2008/10/25(土) 17:58:26ID:AakIN1gIそうです
どんな操作してるときもホットキーから呼び出したいので
PyGTK以外の言語は全く解らんのですがXLibあたりですかね
これさえ備えられればほぼ完成なんです
ありがとうございました。もう少し調べてみます
0109login:Penguin
2008/10/25(土) 18:06:09ID:e1TliF6Dそれ俺も知りたい。分かったら教えてくれ。
0110login:Penguin
2008/10/25(土) 18:20:20ID:zQTl7fNiウィンドウマネージャにショートカットで任意のプログラムを呼び出すような
親切機能がついていればできる、なければ基本的にできない。
0111login: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()
0112login:Penguin
2008/10/26(日) 00:16:49ID:cuuCZE3q自分が得た情報はもちろん共有しますよ
ウインドウマネージャってubuntuだとcompizでしたっけ?
WindowsだとpyHookなんてのがあって楽そうなんですが
>>111
走らせてみました
小さなウインドウは出ましたが、こちらではキーに反応しません
a, <shift>a, <ctrl>aはダメでした。他のキーですか?
個人的にはこの辺が怪しいと思っていたのですが
ttp://faq.pygtk.org/index.py?req=show&file=faq23.009.htp
ttp://manpages.ubuntu.com/manpages/feisty/ja/man3/XGrabButton.html
ttp://xjman.dsl.gr.jp/X11R6/X11/CH12.html
PyGTKって日本語のドキュメントが少ないと思っていたけど
それ以前にドキュメントの絶対数が少ない気がしてきた
0113login:Penguin
2008/10/26(日) 00:20:34ID:dWWl1VvVxbindkeysのソースが参考になるかもね。
でもgdkとgtkだけで済ませたい気もする。
0114login:Penguin
2008/10/26(日) 01:05:43ID:w1SELDT+<shift><ctrl>aです
0115login:Penguin
2008/10/26(日) 02:08:20ID:cuuCZE3qこれCですか?現時点では意味不明でした。
やはり最低でも2言語くらい習得しないと細かい所が弄れませんね。
>>114
それも試してみましたが何故が無反応でした。
さらに一週間くらい調べてみます。
0116login:Penguin
2008/10/27(月) 22:08:10ID:hjSX5CJkありゃGTK+プログラミングろくに理解してない奴が訳してるんだろうなあ。
0117login:Penguin
2008/11/02(日) 17:56:33ID:8LwLmm0Rユーザ数ではどうなんだろう。日本でも最近出てる本はQtのだよね。
0118login:Penguin
2008/11/02(日) 18:07:31ID:f8W85vrOユーザ数でもおそらくgtkのほうが多い。
なぜQtの本のうほうが多いのかは謎。
gtkの本ってなんであんなに少ないんだろうか。
0119login:Penguin
2008/11/03(月) 12:00:13ID:zVTwcnmignome vs kde
ttp://www.google.co.jp/trends?q=GNOME%2CKDE&ctab=0&geo=all&date=all&sort=0
gtk vs qt
ttp://www.google.co.jp/trends?q=gtk%2Cqt&ctab=0&geo=all&date=all&sort=0
ちなみにノルウェーではgnomeの人気が高いw
0120login:Penguin
2008/11/03(月) 12:19:36ID:f8RoxdRrが多いよね。
日本GNOMEユーザー会とKDE ホームページ(日本KDEユーザ会)の
サイトを比べてみると、一見KDEの方が勢いがあるように見えるけど、
リンクのメンテがボロボロだな。
0121login:Penguin
2008/11/03(月) 12:24:19ID:f8RoxdRrなんかKDE/Qtのが優勢な感じw
0122login:Penguin
2008/11/03(月) 13:56:17ID:7ydUuqhV一部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
0123login:Penguin
2008/11/03(月) 22:01:57ID:57+pbs2mあと他言語のバインディングではgtkのほうが優勢な気がするんだがどうなんだろ。
QtHaskellとか使ってる人いる?俺はgtk2hs使ったけど使い物にならなかったよwww必要関数無くてwwww。
0124login:Penguin
2008/11/03(月) 22:39:37ID:iQkJfTcrやっぱシェア(数)はやっぱgnomeが多いんじゃないの?
KDEはOpenSUSE, Mandriva(turbo)とか。
まぁ前出のgnomeトリはたいがいKDEの派生つーかブランチもあるし
入れ替えたって(共存させたって)いいんだけどね。
0126login:Penguin
2008/11/03(月) 23:40:33ID:CkL33X1GGTKがLGPLなのに対して、QtはGPLか最近のtool kit としては高額の
有償ライセンスかのいずれか
利用できる人間は、どうしても限られてくる
■ このスレッドは過去ログ倉庫に格納されています