11/04/30 22:26:19.43 VyP2E163
自己解決しました。何でコンパイルが通るんだ・・・
誤
Gtk::Main kit( argv, argc );
Gtk::GL::init( argv, argc );
正
Gtk::Main kit( argc, argv );
Gtk::GL::init( argc, argv );
608:login:Penguin
11/05/02 11:45:41.61 izX8cIkn
通らない理由がないからな
609:login:Penguin
11/05/03 00:46:43.55 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(); });
610:login:Penguin
11/05/03 18:07:59.69 6MgTkiYn
>>609
コンパイルが通る方は適当に作った変数を食わしてたんだけど何故か逆にしてもコンパイルが通る
今は書き直して本物のargc,argvを入れています。
valaか~・・・ドキュメント多い?
611:login:Penguin
11/05/07 08:45:48.59 dGkArH/V
Valaは日本語のまとまったドキュメントは皆無だね。
英語だったら本家サイトのドキュメントで困る事はないよ。
最終的にC言語にトランスレートされるんだけど、そのソースを見るのが中々楽しいw
612:login:Penguin
11/05/11 17:31:43.03 ZkP/smDq
gtkで音楽を鳴らすことは出来ますか?
どうすればいいでしょうか?
613:login:Penguin
11/05/11 21:14:23.65 lC/0GEj9
できません
614:login:Penguin
11/05/11 21:50:59.78 TI/wHkRV
音楽の方はGTKとは関係ないんじゃないかね?
とりあえずALSA APIとか調べてみては?
615:login:Penguin
11/05/14 12:57:13.28 z2Mrc21j
すいません
windowsでgtk+の開発環境を整えたいのですが参考になるサイトありませんか?
616:login:Penguin
11/05/14 13:14:39.16 5Yfumgbf
板の名前を100回読読んで最後にサーをつけてみやがれ糞ども
617:login:Penguin
11/05/14 16:45:40.19 lAxQi/en
>>615
プログラム板にスレがあるよ
そっちで聞けば回答がもらえるかもしれない
こっちの質問は撤回して向こうへ行くといい
618:login:Penguin
11/05/14 18:54:06.07 ndPfVk8h
>>615
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)
URLリンク(masaya.w32.jp)
619:login:Penguin
11/05/14 19:17:02.73 z2Mrc21j
>>617
ありがとうございます
でも、やっぱりwindowsだと面倒くさそうなのでLinuxでやることにしました
そこでまた問題があるのですが
(PDF注意) URLリンク(www.iim.cs.tut.ac.jp)
ここに載っているサンプルプログラムをコンパイルしたら以下のエラーが出たのですがどうすればいいのでしょうか?
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をつかってるので・・・
620:login:Penguin
11/05/14 19:25:22.37 Obe5d9n3
>>619
どうすればいいのでしょうかって、どうすればいいのか自分で貼り付けてるじゃん。
Perhaps you should add the directory containing `gtk+2.0.pc`
to the PKG_CONFIG_PATH environment variable
あと質問のつもりなら、どのソースをどんな方法でコンパイルしたかくらいは書くべき。
621:login:Penguin
11/05/14 20:04:20.32 z2Mrc21j
>>620
すいません。以後気をつけます
それとパスの通し方がわかりません・・・linuxはあまり触ったことがないので
622:login:Penguin
11/05/14 20:55:58.32 Jq7jXtDN
Linuxだと面倒臭くない、という理由だった人間がパスの通し方もわからんとか…
世の中なめてんのか?
623:login:Penguin
11/05/14 21:05:27.10 z2Mrc21j
すいません。日本語でおねがいします
624:login:Penguin
11/05/14 21:20:41.50 Jq7jXtDN
LinuxでGTK+プログラミングしようって人間が日本語でないとだめって…
世の中なんめてんのか?
625:login:Penguin
11/05/14 21:28:54.65 agWK3k8h
ごめん俺も英語ダメ
出来るだけ日本語の情報があるとうれしいw
626:login:Penguin
11/05/14 21:35:13.28 z2Mrc21j
>>624
親のすねかじってるお前よりマシだよハゲ
627:login:Penguin
11/05/14 21:45:25.94 Jq7jXtDN
,,,,,,,,,,,,,,,,,,,,
/": : : : : : : : \
/-─-,,,_: : : : : : : : :\
/ '''-,,,: : : : : : : :i
/、 /: : : : : : : : i ________
r-、 ,,,,,,,,,,、 /: : : : : : : : : :i /
L_, , 、 \: : : : : : : : :i / Yahoo!翻訳したら
/●) (●> |: :__,=-、: / < 負けかなと思ってる
l イ '- |:/ tbノノ \
l ,`-=-'\ `l ι';/ \ 英語がだめな24・男性
ヽトェ-ェェ-:) -r'  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヾ=-' / /
____ヽ::::... / ::::|
/ ̄ ::::::::::::::l `─'''' :::|
628:login:Penguin
11/05/14 22:10:07.52 TqodLHpv
GTK以前にOSで躓いてるのか。
だったら分かってるだろうwinでやった方がいいんじゃないの?
winはもっと分からないっていうなら仕方ないけど。
629:login:Penguin
11/05/14 23:47:30.17 agWK3k8h
プログラミング系の英文を翻訳したらわけが分からなくなる
原文でわけが分からない方がましなくらいにね・・・
それとは別に ID:z2Mrc21j はもっと謙虚になるべき
下地が出来ていないし質問する場所が悪いし何を聞いたらいいか分かっていない気がする
何でパスを通したいのか分からないけど細かい質問はgoogle先生で検索してみるといいかも
630:login:Penguin
11/05/14 23:48:21.53 wLtMCrHN
>>621
パスの通し方はGTKと全く関係ないLinuxの基礎の基礎なので、スレ違いです。
631:login:Penguin
11/05/15 13:51:59.78 cCRv4Dbr
>>619
aptitude install libgtk2.0-dev
gcc `pkg-config --cflags gtk+-2.0 --libs gtk+-2.0` image-viewer.c
632:login:Penguin
11/05/15 20:44:42.05 CFcmlqIg
まあ、パスの通し方でからんでるアホも、
同レベルとみなした方が良さそうではあるがな
633:login:Penguin
11/05/15 20:59:22.40 WCLbHSMZ
それにしてもスレ違いの質問は認めちゃだめだろw
グダグダになるぞw
634:login:Penguin
11/05/15 21:13:58.77 CFcmlqIg
グダグダにするぞ!の間違いだろw
635:login:Penguin
11/05/15 21:17:53.35 UHIJLo/l
libgtk2.0-devをインストールしてなかったわ コンパイルできた
636:login:Penguin
11/05/15 21:22:41.40 3m8/J1/j
>>635
怒るでしかしwwww
637:login:Penguin
11/05/15 23:53:02.86 IS7vzHtp
>>634
1. パスの通し方でからんでるアホ
2. スレ違いのグダグダにからんでるアホ
3. >>637 このレス
同レベル。
638:login:Penguin
11/05/16 06:50:27.01 HgEV0miS
Gentooを使うとみみっちい*-devパッケージなんかで
悩まされずにすむんだけどなあ
639:login:Penguin
11/05/17 07:03:27.38 17NbAwxj
HTML5バックエンドにはびびった。
これは、GTK+アプリがサーバーで動いていてクライアントでは<canvas>で
表示しているだけって事かな。
HTML5対応ツールキットとか沢山出てきそうだけど、やっぱりGTK+は最初から
完成度高いものが使えるから、かなりのアドバンテージになるはず。
インストールしなくてもWindows上でGTK+アプリが使える訳だから最高だな。
640:login:Penguin
11/05/18 01:14:48.22 zz1Ry4tA
既存のGTK+アプリケーションを応用したクラウドサービスの予感
641:login:Penguin
11/05/24 08:34:07.83 KqvnTjTM
GTK+2で、Cairoを用いて一回の描画に非常に時間がかかるもの(例えばマンデルブローとか)を描画して、
GTKのDrawingAreaに表示するにはどうしたらいいんでしょうか?
直接DrawingAreaのGdkwindowにExposeイベント毎に描画するようにすると当然破綻します。
GTK+2だとCairoのSurfaceに描画してそれをPixbufにするというのもできない感じなので困ってます。
642:login:Penguin
11/05/24 17:28:30.93 ob7Yh9v7
GdkPixmapに描画して、ウィンドウ再描画のときはそこから転送する。
むしろGTK+3でGdkPixmapがなくなって、オフスクリーンなpixmapを
どうやって持つのか知りたい。
オフスクリーンなGdkWindowというのがあるらしいから
それを作ってpixmapとして使えということなのだろうか。
643:641
11/05/24 17:47:47.35 SHDVYoHh
>>642
ありがとうございます。
使ってる言語のバインディングが+2用なので仕方なく+2を使ってますが、今から使うアプリに
GdkPixmapは使いたくないので、他に手段ないでしょうか?
+2でも、CairoのSurfaceをGdkWindowにコピー?できるのが理想なんですが。
ちなみに、+3では
URLリンク(developer.gnome.org)
によればCairoのSurface使えってことだと思います。
644:login:Penguin
11/05/25 22:49:33.40 ypXSp7WE
>>643
URLリンク(zetcode.com)
の「Blind down effect」でできるようですよ
簡単に要約すると
関数cairo_image_surface_createでオフスクリーンなsurfaceを作って、そこに落書きし、
eexposeイベント内で関数cairo_set_source_surfaceを呼び出して落書き結果をコピーするという方法だそうです
645:login:Penguin
11/05/26 01:09:20.52 /us7JkTi
GTK+3とかマジ迷惑なんですけど。
646:641
11/05/28 02:19:42.28 cDNuTVbD
>>644
ありがとうございます、それでやってみます。
647:login:Penguin
11/05/29 20:26:57.86 zJJLH/V3
GtkTableにアタッチしたウィジェットのパディングを変更したいんですが
gtk_table_attach()を変更の度に呼んでも問題ないですか?
それともパティングを手軽に変更できる手段って他にあるでしょうか。
648:login:Penguin
11/05/31 20:26:42.71 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 );
で調節します。
649:648
11/05/31 20:30:44.34 Bc3stUR8
>>648の追記です。
参考にしたURLは
URLリンク(www.gtkforums.com)
です。
650:login:Penguin
11/06/02 12:20:53.31 9ZkW8466
>>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです
651:login:Penguin
11/06/03 01:41:05.64 UsW+bpf/
スレリンク(tech板)
652:login:Penguin
11/06/04 06:32:58.20 DoiP0avE
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。
653:648
11/06/04 17:42:05.97 lYXnt5Pq
>>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。
ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません
654:login:Penguin
11/06/05 12:08:13.55 2//sPV3W
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください
655:648
11/06/06 22:48:57.79 Rnm0L+uO
>>654
>>childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも
なるほど、そういうことなんですね。
ところで、解像度の変更イベント処理はGdkScreenのsize-changedイベントで処理できます
参考URLは
URLリンク(www.gtkforums.com)
です。
それとテーマの変更イベントですが、すみませんが僕にはわかりませんでした。
下記のURLによると、テーマ変更時に変化するオブジェクトのイベントを
すべて監視すればいいらしいのですが…
URLリンク(www.gtkforums.com)
656:login:Penguin
11/06/06 23:39:42.74 X0ciCI4s
>>655
ありがとうございます
テーマの方はこんな感じでできそうですね
ちょっと試してみます
URLリンク(garage.maemo.org)
+ g_signal_connect (G_OBJECT (instance), "notify::style", G_CALLBACK (on_notify_style), (gpointer) instance);
657:login:Penguin
11/06/09 00:26:33.80 z+T6y5Hb
UbuntuLinuxを使っていると、
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?
658:login:Penguin
11/06/10 23:26:43.28 PqNxIzez
>>656
私のほうでも試して見ましたが、
それでテーマ変更イベントの検出はできるようですね。
しかし、notify::styleイベントがgtkリファレンスに見つからないw
何のイベントなんだろう?
>>657
ラブハンドルになるアプリ名とならないアプリ名を書けば、
誰かが調べてくれるかも?
659: 忍法帖【Lv=5,xxxP】
11/06/12 17:23:21.85 JGUSf8uW
俺のためのスレはココですか?
660:login:Penguin
11/06/12 17:46:23.37 Nl9cfmmH
>>659
いいえ、違います。
661:login:Penguin
11/06/22 01:11:00.53 c+3U0RiB
debhelpを日本語化するプロジェクトはもう立ち上がっているのでしょうか?
662:login:Penguin
11/06/22 01:11:44.45 c+3U0RiB
devhelpです
663:login:Penguin
11/06/28 00:26:26.50 eerWK6Uv
URLリンク(mugtug.com)
↑これ有名なHTML5のデモだけど、
URLリンク(blogs.gnome.org)
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!
664:login:Penguin
11/07/01 01:05:56.23 GKt7GreK
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い
665:login:Penguin
11/07/01 01:22:39.19 qaXNzYOT
>>664
gitのログ見たけど更新しまくってね?リリース見ても5月中にも
pycairoとかcairommとかバインディング関係が更新あるしcairo自体は既に成熟期だろ
それとIDが惜しい
666:login:Penguin
11/07/03 08:27:55.42 xZFICtED
URLリンク(lists.cairographics.org)
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。
667:login:Penguin
11/08/01 00:38:35.73 rgARQ4qL
GtkDrawingArea を自分で XCreateWindow して作りたい時ってどうすればいいか教えてください。
668:login:Penguin
11/08/02 00:30:46.57 px2Xwp7s
自己解決した。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。
669:login:Penguin
11/08/22 09:44:31.31 56fggY27
GtkEntryCompletion のポップアップの最大高さ?を設定する方法おしえてくだしあ
URLリンク(up3.viploader.net)
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます
670:login:Penguin
11/08/22 12:32:55.24 GUjzssRW
そんなAPIは無いように見えるから
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ
671:login:Penguin
11/08/23 10:55:05.34 fF4RpR06
>>670ありがとうございます。
_GtkEntryCompletionPrivate構造体の定義がわからないので諦めました
672:login:Penguin
11/08/24 18:38:06.52 CLJ7sudj
g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?
例えば,main関数内でエントリーが3つとボタンがあって,
ボタンを押したら3つのエントリーに入力されている文字列をg_printで出力する場合とか
初歩的な質問かもしれないけど,お願いします
673:login:Penguin
11/08/24 18:57:38.20 tAkTiKbP
>>672
構造体とか使って渡したいデータを1変数にまとめて、
コールバック関数にはその構造体のポインタ渡すのはどうかな
URLリンク(pastebin.com)
674:login:Penguin
11/08/24 19:04:11.50 CLJ7sudj
>>673
ありがとうございます
やっぱりそれしか無いですか...
なんで可変じゃなくてわざわざ一個だけなんだろうなあ
675:login:Penguin
11/08/24 19:10:25.09 tAkTiKbP
自分でラッパー書いて、可変引数版のg_signal_connectを自由につくってもいいのよ~
一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う
676:login:Penguin
11/08/24 19:20:10.95 CLJ7sudj
>>675
調べてみると可変引数って色々問題あるんですね,知りませんでした
ラッパーって言葉も今知りました
勉強になります
677:login:Penguin
11/08/24 19:40:28.68 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)でとれる名前を確認しながら扱う
三通り思いつきました、どうでしょうか?
678:login:Penguin
11/08/25 00:14:37.53 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箇所がエラーになってしまいます。
だれか解決してください。
679:login:Penguin
11/08/25 07:33:21.51 3JebkG67
3.0の方針として、直接メンバー変数にアクセスしない事になったんで、
それぞれ、set_window, get_window みたいなアクセサ経由に変更すればOK
680:login:Penguin
11/08/25 08:20:25.79 Yioj7fNN
>>678 下記サイト 中段 "GdkDrawable is gone" によると
「GTK+3において GdkDrawable,GdkPixmap,GdkImage は削除された。代わりに cairo_surface_t,GdkPixbuf を使え」
とあります。承知の上での質問でしたらすいません
URLリンク(developer.gnome.org)
681:login:Penguin
11/08/25 15:58:01.07 67oz2wuj
>>677
GHashTableを使うのが一番楽そうですね
参考になりました,ありがとうございました
682:login:Penguin
11/08/26 09:59:15.55 lIEWgrKL
dat復帰しろ
683:login:Penguin
11/08/26 18:45:59.14 miWeYAjd
>>679,680
どうやらgtk+3は描画の高レベル部分をcairoに置き換えたがってるようなので、
素直にgdkによる描画をcairoで書きなおすことにします。
684:login:Penguin
11/08/27 18:18:33.00 rt71f+c2
まーたスレ一覧㌧㌦
URLリンク(up3.viploader.net)
今日はグラフを書く練習をしました。部品化はまだ先が遠いなあ orz
685:login:Penguin
11/08/30 03:41:36.85 KLnazqo8
GTK+2で使用可能な2D plotterにはどんなものがありますか?
GTK+3にも移行できそうなものでオススメがありましたら教えてください
686:login:Penguin
11/08/30 10:24:20.53 5PScM+cr
あんたの言う「2D plotter」とは何なのかをもうちょっと調べなさいよ
「大判プリンター」で目的に合うならこちらを勧めるよ
どうしてもプロッターならその理由が判らないと始まらないし
GTK関係ない話にもなる
687:login:Penguin
11/08/30 10:55:15.61 9Gn96LUV
ベクトルDrawとかのライブラリの亊じゃね?
gnuplotとかmatplotとかそういうの。
わからい人にはグラフ書くライブラリって言ったほうがいいのかな?
688:login:Penguin
11/08/30 11:18:58.63 KLnazqo8
仰る通りライブラリのことです、GUIプログラミングのスレでの発言ですからね
それじゃ調べたものを書きますね
・plplot5.9.6
古い環境を意識してるのか8-bit色制限?cairoが普通に扱えて且つPostScriptも吐けて好印象
ただ関数群が使いにくい印象
・GtkExtra3.0.1(beta) の GtkPlot
こちらはdemoを動かしただけですが若干もっさり描画?
cairoすらwrappingしてるからからか?
他にあればそれも検討してその上で使うものを決定したいのです
689:login:Penguin
11/08/31 00:52:22.06 n3SEIKnI
URLリンク(stackoverflow.com)
URLリンク(wiki.python.org)
最近だとRとか使ってるイメージはあるけど
この辺昔からあるからね。どうしてもラッパーライブラリは多くなっちゃうよね
Q: Does pychart support Windows?
Yes. But you need to install Python and Ghostscript beforehand.
pychartとかどうかな日本の人だよ名前から判断すると
690:login:Penguin
11/08/31 15:52:48.56 STiWeB5m
>>689
ありがとうございます。出来ればCで使えるGTK+のwidget又はcairo_tに描画できるものでお願いします。。
グラフの枠,軸ラベル,グラフ自身,凡例
これらを書ける関数が用意されてると嬉しいです。cairoでガリガリ書く奴はgnome-system-monitorを参考にして
書きましたが何か違うなと感じました、「もっと楽できるものあるだろう」と
Rって言語は初めて知りました。R-devel入れてみましたが GtkDrawingAreaやcairo_tに書く方法が判らず断念しました
pychartはpython使う時は使ってみようと思います
691:login:Penguin
11/09/06 20:57:43.09 JODXyz/L
gtk_image関連で、プログラム内でファイルを指定して画像を用意する関数はありますか?
gtk_image_new_form_fileなどのように起動するときに指定するのではなく
プログラム内で指定したいのです
692:login:Penguin
11/09/06 21:09:41.30 h7bDDi3V
get_image_set_from_file
693:login:Penguin
11/09/06 23:45:05.53 JODXyz/L
>>692
すみません、それの具体的な使い方を教えてもらえないでしょうか?
その後に続く()の中には何を入れればいいのでしょうか?
devhelpを見ましたが、書いてある通りに入れるとコンパイルエラーが出ます
gtkwidget *image;
image = gtk_image_set_from_file (GtkImage *image,
const gchar *filename);
↑の*filename のところにファイル名を入れるのでしょうか?例えばaaa.png等
*imageのところも何か入れるのでしょうか?
694:login:Penguin
11/09/07 00:10:39.05 OQwTGmux
gtk_image_new_from_fileでなんでだめなの
695:692
11/09/07 00:54:07.56 QF3RPTD4
>>693
get_ じゃなくて gtk_ ね。俺の書き間違い
URLリンク(wingtk.sourceforge.net)
ページ内で gtk_image_set_from_file で検索して
696:login:Penguin
11/09/07 01:59:10.86 T6UTzAz+
>>693
gtk_image_set_from_file()使ってjpegでぱらぱら漫画作った
git clone git://git.pf.sourceforge.jp/gitroot/k/ke/kemeco/parapara_manga.git
いっしゅのモーションJPEGwww
697:login:Penguin
11/09/07 11:01:37.48 s/CIYWHm
>>696
何かの折にヘッダファイルとして使わせてもらいます
698:login:Penguin
11/10/03 10:40:33.28 DltdAdh6
>>696さんのリストを一部改変してボタンを押されたら次の画像を表示するというふうにしたいのですが
上手くいきません
ボタンのシグナルコネクトをflipという関数に接続したのですが
関数が反応してないようです
どうすればいいか教えてください
改変したリストです↓
URLリンク(www1.axfc.net)
699:login:Penguin
11/10/03 10:45:19.78 DltdAdh6
すいません、元のリストをアップしてしまいました
正しくはこちらです(ファイル名をimage2.cに変えました)
URLリンク(www1.axfc.net)
700:login:Penguin
11/10/04 05:43:43.88 OMJjY+ZZ
>>700
ちょちょと換えてみたから見てみて
URLリンク(www1.axfc.net)
devhelpってヘルプビューア入れて GtkButtonの説明読むのおすすめ
「The "clicked" signal」 てとこにclickedシグナルハンドラのシグネチャが書いてあるよ
>>699が元々書いてたハンドラとシグネチャが一致してなかったみたい
それと初回クリック時の画像ファイルインデックスは0番じゃなくて1番にしといた
701:login:Penguin
11/10/04 05:45:48.43 OMJjY+ZZ
指示レス番まちがえたけど 訂正しねーよ!(我が家杉山)
702:login:Penguin
11/10/04 12:32:09.76 VseFFwAj
>>700
動きました、どうもすいません
703:login:Penguin
11/10/04 22:44:16.96 OMJjY+ZZ
謝る必要はこれっぽっちもないけど
「動けばいい」とかいう低い志は捨てようや
704:login:Penguin
11/10/17 00:11:29.94 OFrElfAX
ボタンを押されたときに、シグナルコネクト先を変更したいのですが
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?
705:login:Penguin
11/10/17 03:57:34.59 jBv5AccH
>>704
> if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
コード見ていないので確かなことは言えませんが、
g_signal_handler_disconnect()とg_signal_connect()を使えばきっと出来ますよ(やってみたら出来た)
code snippestでも貼ってくれたらアドバイスもできたかと思いますが情報が不足していましたので
「ボタンを押されたら、シグナルコネクト先を変更する」というサンプルを書いてみました。ので参照みて下さい
URLリンク(www1.axfc.net)
main関数内とハンドラ内で共用する変数についての渡し方は
・g_object_set_data()を利用して渡す方法
・g_signal_connect()の最後の引数にGHashTableを指定して渡す方法
・大域変数として宣言しておく方法(この程度の場合は悪手かな?)
の3通り思いつきましたが1番目の案で記述しました。書き方はいろいろあります
706:login:Penguin
11/10/17 17:36:59.12 OFrElfAX
>>705
ご親切にありがとうございます
解読してみます
707:login:Penguin
11/12/26 12:41:35.30 Jg1bu6au
GTKとcarioとpangoの関係を教えて下さい
708:login:Penguin
11/12/27 02:22:40.60 4qSP4mDf
なんと、全部文字数が奇数です。
709:login:Penguin
12/02/12 21:52:16.17 vrKTadjR
スレリンク(tech板)
710:login:Penguin
12/03/13 01:46:49.13 3Ugm7oRN
ウィキ作った
URLリンク(monobook.org)
711:login:Penguin
12/03/13 23:30:30.92 XEqUJYrf
ぼくもつくろっと。
712:login:Penguin
12/03/20 06:02:28.11 jPw9I0u0
URLリンク(cairographics.org)
URLリンク(cairographics.org)
ぬぉ!死んだと思っていたcairoに新バージョンのニュースが!
FirefoxはLinux版も自前のOpenGLレンダラーに移行しつつあるから、
今更4倍速くなったって言っても悲しいけど、GTK+は間違いなくかなり速くなりそうだ。
713:login:Penguin
12/03/25 06:47:03.05 Bt4mNkdj
URLリンク(cairographics.org)
cairo-1.12.0がリリースされた。18ヶ月ぶりのメジャーバージョンアップらしい。
個人的にはGTK+の描画がどれだけ高速化されたかが気になるな。
714:login:Penguin
12/03/25 09:54:04.27 1P7W2wf1
>>713
>どれだけ高速化されたかが気になる
cairoで何をしようとしてるの?
715:login:Penguin
12/03/25 18:58:57.29 3RGnGf+l
何をしようとしてるかが関係あるの?
716:login:Penguin
12/03/25 21:27:14.92 rI7Awxch
正直に白状するが、
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。
717:login:Penguin
12/03/25 21:35:56.39 FgoOLGO6
あと、ラジオボタンとか、配列可して、コールバック関数を一つに
まとめる方法もわからないまま
一個一個書いてます。
とほほ
718:login:Penguin
12/03/28 08:35:06.02 ThQeaUjt
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?
719:login:Penguin
12/03/28 11:02:58.95 he0UMBAC
GTK+はEmacsで使われています
720:login:Penguin
12/03/28 20:02:18.92 ThQeaUjt
GTK+はEmacsではキーイベントの処理に使われていません
721:login:Penguin
12/03/28 20:41:18.94 R04800Nw
( ゚Д ゚)
722:login:Penguin
12/03/29 22:20:44.47 GJB1hQRo
cairoが高速化ってことはeclipseも早くなるのかね
723:login:Penguin
12/03/29 22:37:41.77 CN8scaWa
anjutaを使ってみたところ
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?
724:login:Penguin
12/04/02 18:01:59.91 BFIgJvs2
どんな呼び方したのか書いてくれなきゃわからん
一番いい解決方法は DevhelpっていうGUIヘルプビューワ入れて g_signal_connectの説明読むこっちゃ
ver.も気にせずに例を書くとシグネチャ違うみたいだねそれが一番幸せになれる
725:723
12/04/03 21:46:17.80 gvKF9Ts9
よく確認してみたところエラーになるのはgtk_signal_connectのほうで
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
URLリンク(developer.gnome.org)
726:login:Penguin
12/04/15 02:03:04.26 Z1/ZfeAU
threadやmutex関係もgtk_の方は廃止になって、g_の方のみになった。3。0あたりから
基本的な関数はglibに集約して、ツールキット的な関数のみgtk 3で担当するように住み分けされた
コンパイルの最中に廃止された関数と表示がでるソースは、いずれソースを書き換えないとビルド不能になる
ちなみに最も基本的なlibcでも現在開発ラインの最新版だとgetsが本当にソースから廃止されてるので、getsが使われてるソースをビルドできなくなってる
727:login:Penguin
12/04/15 08:43:51.29 khsJyTTq
ガチで使えないキット(GTK)
728:login:Penguin
12/04/22 21:22:17.78 ZPy8N610
UGS
Never use gets().
729:login:Penguin
12/05/03 19:08:20.54 2lAo9jqg
フォントサイズって10.5ptとか小数点で設定できる?
730:login:Penguin
12/05/04 06:17:57.12 phIzEGLj
フォントサイズの指定方法がわかってて
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。
731:login:Penguin
12/05/04 11:44:12.10 LzE47Zaa
型がguintみたいだが
732:login:Penguin
12/05/04 14:24:41.51 86E5ktal
それがどうした
733:login:Penguin
12/05/09 14:47:56.27 M8lWcVDx
Gtk.TreeView.Selection.Mode = Gtk.SelectionMode.Multiple;
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?
734:login:Penguin
12/05/15 22:46:57.21 PyXbSQll
Gtk.Label page_label = new Gtk.Label (title);
page_label.KeyReleaseEvent += delegate {
Console.WriteLine("!"); //←呼び出されない理由を説明してほしい!
};
735:login:Penguin
12/05/16 07:38:42.69 1Jlqt6RC
gtk_widget_set_events()
736:login:Penguin
12/05/16 21:45:01.79 oMuQxzgz
GTKは親切ではないなーと楽をしてきただけに思いますw
>>735
ありがとうございます
しかし、それらしいのが見つかりません
737:login:Penguin
12/05/23 21:46:04.65 jdgnkMvj
GTKのGUIは更新をサボる癖があるようですが
無理やり更新させる方法はないでしょうか?
738:login:Penguin
12/05/23 21:50:35.79 jdgnkMvj
更新するWidgetを間違えてた!
解決
739:login:Penguin
12/06/08 19:02:58.11 BmPo410Y
Gtk-CRITICAL **: IA__gtk_main_quit: assertion `main_loops != NULL' failed
メインループ内でGtk.Application.Quit ();を呼ぶなって事だろうけど
終了させる方法はないのでしょうか?
740:login:Penguin
12/06/08 20:38:02.95 6+ZFg73U
>>739
電源を切れば終了。
741:login:Penguin
12/06/09 03:50:44.00 xIQyunsc
gtk_main_quit()のソースコードを読めば解決。
742:login:Penguin
12/06/10 07:41:42.40 NypXeHdm
>>739
launcher みたいの作ろうとしてるんだろうか…
いまいちどういうことなのか判らないんだけど
logメッセージを抑制したいなら glib 2.32から
URLリンク(www.mail-archive.com)
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で以前と同じ動作になるらしい
743:login:Penguin
12/07/04 15:28:28.70 RZglH82u
from gi.repository import Gtk
744:login:Penguin
12/08/07 21:52:39.08 4kcOLz8m
このスレ的にはGTKのものをそのまま叩くっていうのは危険なこと?
745:login:Penguin
12/08/08 21:32:46.85 heEHx4e5
意味わからん。
746:login:Penguin
12/08/09 02:30:11.31 IoAeP/Ow
バッシングだな
747:login:Penguin
12/08/09 09:21:30.12 n/9/m8Sd
え?ラッパーライブラリを介さず直接コールするって意味じゃないの?
748:login:Penguin
12/08/09 22:47:55.45 Q1A6/Eca
>>747
そのとおりです
749:login:Penguin
12/08/09 22:57:00.84 P67COA3s
Exactly
750:login:Penguin
12/09/11 19:25:22.84 AmLZmZH+
取り敢えずgtk_main_quit()
751:login:Penguin
12/11/27 12:00:27.00 Mwv1yHjg
UbuntuでPyGTKを利用してアプリケーションを作っているのですが、一部パーミッションが与えられていないファイルへの書き込みを行いたいと考えております。
Ubuntu Software Centerからアプリケーションをインストールしようとすると、Authenticateというポップアップが出てきてパスワードを入力するとsudoの様にアプリケーションのインストールができますが、これはどのように実現しているのでしょうか?
自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。
752:login:Penguin
12/11/27 23:24:04.63 p3EAvFxY
>>751
pyは使えないのですが、この話はGTKのスレの質問でしょうかね?
Cだったらstatとchmod使うところじゃないかと。
753:login:Penguin
12/11/27 23:44:47.91 2Faa51y/
>>751
もしかして:gksu
$ sudo command
のかわりに
$ gksu command
ってやると
GUIでパスワード聞かれる
754:login:Penguin
12/11/28 00:24:58.73 JU9FPiAT
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?
755:login:Penguin
12/11/28 16:35:00.90 a6DQ5WYq
polkit
756:login:Penguin
12/12/02 14:08:52.19 jmMYkF+D
>>754
ナイス翻訳
757:login:Penguin
13/02/09 09:31:18.23 cnWShbXp
質問させてください。
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?
758:login:Penguin
13/03/07 14:11:29.83 QnTnog/x
こう書く方法ないかな?
public class Window :Gtk.Window{
}
759:login:Penguin
13/03/07 16:21:44.64 19LddT7Q
>>758
valaをつかえばいいと思うよ
760:login:Penguin
13/03/08 18:55:04.44 Eqvj3fL9
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない
761:login:Penguin
13/03/13 09:34:23.06 EMo1WQCk
>>760
valaはwindowsでも普通に使える。
762:login:Penguin
13/03/23 10:23:11.54 PyYsgXcc
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら
763:login:Penguin
13/03/23 16:14:11.15 oI1eFSYR
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。
お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。
764:762
13/03/23 16:55:08.61 PyYsgXcc
結局add_buttonで追加したボタンを使うのではなく、アクションエリアに普通のボタンを追加し、
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?