GTK+プログラミング at LINUX
[2ch|▼Menu]
[前50を表示]
650:login:Penguin
11/06/02 12:20:53.31 9ZkW8466.net
>>648
ありがとうございます
GtkAlignmentでもパディング変更できましたが
GtkTableのchildrenの中の該当ウィジェットを格納した
GtkTableChildのx/ypaddingを変更することでもできるようです

651:login:Penguin
11/06/03 01:41:05.64 UsW+bpf/.net
スレリンク(tech板)

652:login:Penguin
11/06/04 06:32:58.20 DoiP0avE.net
スレッドA,BにおいてAからBを終了させるpthread_close()に相当する処理を行う方法がgtkには無い。

653:648
11/06/04 17:42:05.97 lYXnt5Pq.net
>>650
お役に立てずにすみません。GtkTableChildを使った方がスマートですね。

ところで、Gtk 2.0のリファレンスにGtkTableChildクラスの説明がみつからないのですが
どこにあるか教えていただけませんか?
Gtk 1.0のほうは見つけたのですが、Gtk 2.0の方では見つかりません


654:login:Penguin
11/06/05 12:08:13.55 2//sPV3W.net
公式の3.0のリファレンスにも無いですね
もしかして直接触っちゃだめなのかもと思ったけど
childrenにテーブルの中身がって書いてるしヘッダみろってことなのかも

ところで画面解像度の変更やテーマの変更の感知はどのイベントを
受け取ればいいのか教えてください

655:648
11/06/06 22:48:57.79 Rnm0L+uO.net
>>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.net
>>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.net
UbuntuLinuxを使っていると、
ラブハンドルになるスクロールバーとならないスクロールバーがあるんだけど違いはなんなの?

658:login:Penguin
11/06/10 23:26:43.28 PqNxIzez.net
>>656
私のほうでも試して見ましたが、
それでテーマ変更イベントの検出はできるようですね。
しかし、notify::styleイベントがgtkリファレンスに見つからないw
何のイベントなんだろう?

>>657
ラブハンドルになるアプリ名とならないアプリ名を書けば、
誰かが調べてくれるかも?


659: 忍法帖【Lv=5,xxxP】
11/06/12 17:23:21.85 JGUSf8uW.net
俺のためのスレはココですか?

660:login:Penguin
11/06/12 17:46:23.37 Nl9cfmmH.net
>>659
いいえ、違います。

661:login:Penguin
11/06/22 01:11:00.53 c+3U0RiB.net
debhelpを日本語化するプロジェクトはもう立ち上がっているのでしょうか?

662:login:Penguin
11/06/22 01:11:44.45 c+3U0RiB.net
devhelpです

663:login:Penguin
11/06/28 00:26:26.50 eerWK6Uv.net
URLリンク(mugtug.com)
↑これ有名なHTML5のデモだけど、
URLリンク(blogs.gnome.org)
GTK+3.2がリリースされれば、↑こんな感じに同じ事が出来るようにのか?
wktkが止まらない!


664:login:Penguin
11/07/01 01:05:56.23 GKt7GreK.net
cairoは死んでしまったのか…
Firefoxに見捨てられ更新もほとんど無い


665:login:Penguin
11/07/01 01:22:39.19 qaXNzYOT.net
>>664
gitのログ見たけど更新しまくってね?リリース見ても5月中にも
pycairoとかcairommとかバインディング関係が更新あるしcairo自体は既に成熟期だろ
それとIDが惜しい

666:login:Penguin
11/07/03 08:27:55.42 xZFICtED.net
URLリンク(lists.cairographics.org)
↑ここ見て少なく感じた。半分近くはコードでないコミットだし。


667:login:Penguin
11/08/01 00:38:35.73 rgARQ4qL.net
GtkDrawingArea を自分で XCreateWindow して作りたい時ってどうすればいいか教えてください。


668:login:Penguin
11/08/02 00:30:46.57 px2Xwp7s.net
自己解決した。
Gdk.X11Screen.lookup_visual () とか使えば、自分で XCreateWindow () する必要とかなかった。

669:login:Penguin
11/08/22 09:44:31.31 56fggY27.net
GtkEntryCompletion のポップアップの最大高さ?を設定する方法おしえてくだしあ
URLリンク(up3.viploader.net)
デフォだと↑みたいに画面の高さいっぱい一杯までスクロールバーがついたポップアップが表示されてしまいます

670:login:Penguin
11/08/22 12:32:55.24 GUjzssRW.net
そんなAPIは無いように見えるから
どうしても欲しければ自力でGtkEntryCompletion相当のコードを書くことになるのかなぁ

671:login:Penguin
11/08/23 10:55:05.34 fF4RpR06.net
>>670ありがとうございます。
_GtkEntryCompletionPrivate構造体の定義がわからないので諦めました


672:login:Penguin
11/08/24 18:38:06.52 CLJ7sudj.net
g_signal_connectでコールバック関数に渡せるデータって一つしかないですよね
でもどうしても複数のデータを渡したい時ってどうするんですか?

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

初歩的な質問かもしれないけど,お願いします


673:login:Penguin
11/08/24 18:57:38.20 tAkTiKbP.net
>>672
構造体とか使って渡したいデータを1変数にまとめて、
コールバック関数にはその構造体のポインタ渡すのはどうかな
URLリンク(pastebin.com)

674:login:Penguin
11/08/24 19:04:11.50 CLJ7sudj.net
>>673
ありがとうございます

やっぱりそれしか無いですか...
なんで可変じゃなくてわざわざ一個だけなんだろうなあ

675:login:Penguin
11/08/24 19:10:25.09 tAkTiKbP.net
自分でラッパー書いて、可変引数版のg_signal_connectを自由につくってもいいのよ〜

一般的に複数引数渡すよりポインタ1個渡す方が効率的、と考えられてるんじゃないかな
普通は渡したいデータの型も文字列だけじゃないだろうし、Cだと型が予測できない可変引数を処理するのは面倒だと思う

676:login:Penguin
11/08/24 19:20:10.95 CLJ7sudj.net
>>675
調べてみると可変引数って色々問題あるんですね,知りませんでした
ラッパーって言葉も今知りました

勉強になります

677:login:Penguin
11/08/24 19:40:28.68 fAbet21j.net
>>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.net
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.net
3.0の方針として、直接メンバー変数にアクセスしない事になったんで、
それぞれ、set_window, get_window みたいなアクセサ経由に変更すればOK

680:login:Penguin
11/08/25 08:20:25.79 Yioj7fNN.net
>>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.net
>>677
GHashTableを使うのが一番楽そうですね
参考になりました,ありがとうございました


682:login:Penguin
11/08/26 09:59:15.55 lIEWgrKL.net
dat復帰しろ

683:login:Penguin
11/08/26 18:45:59.14 miWeYAjd.net
>>679,680
どうやらgtk+3は描画の高レベル部分をcairoに置き換えたがってるようなので、
素直にgdkによる描画をcairoで書きなおすことにします。

684:login:Penguin
11/08/27 18:18:33.00 rt71f+c2.net
まーたスレ一覧dj
URLリンク(up3.viploader.net)
今日はグラフを書く練習をしました。部品化はまだ先が遠いなあ orz

685:login:Penguin
11/08/30 03:41:36.85 KLnazqo8.net
GTK+2で使用可能な2D plotterにはどんなものがありますか?

GTK+3にも移行できそうなものでオススメがありましたら教えてください

686:login:Penguin
11/08/30 10:24:20.53 5PScM+cr.net
あんたの言う「2D plotter」とは何なのかをもうちょっと調べなさいよ
「大判プリンター」で目的に合うならこちらを勧めるよ
どうしてもプロッターならその理由が判らないと始まらないし
GTK関係ない話にもなる

687:login:Penguin
11/08/30 10:55:15.61 9Gn96LUV.net
ベクトルDrawとかのライブラリの亊じゃね?
gnuplotとかmatplotとかそういうの。
わからい人にはグラフ書くライブラリって言ったほうがいいのかな?

688:login:Penguin
11/08/30 11:18:58.63 KLnazqo8.net
仰る通りライブラリのことです、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.net
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.net
>>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.net
gtk_image関連で、プログラム内でファイルを指定して画像を用意する関数はありますか?
gtk_image_new_form_fileなどのように起動するときに指定するのではなく
プログラム内で指定したいのです

692:login:Penguin
11/09/06 21:09:41.30 h7bDDi3V.net
get_image_set_from_file

693:login:Penguin
11/09/06 23:45:05.53 JODXyz/L.net
>>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.net
gtk_image_new_from_fileでなんでだめなの

695:692
11/09/07 00:54:07.56 QF3RPTD4.net
>>693
get_ じゃなくて gtk_ ね。俺の書き間違い


URLリンク(wingtk.sourceforge.net)
ページ内で gtk_image_set_from_file で検索して

696:login:Penguin
11/09/07 01:59:10.86 T6UTzAz+.net
>>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.net
>>696
何かの折にヘッダファイルとして使わせてもらいます

698:login:Penguin
11/10/03 10:40:33.28 DltdAdh6.net
>>696さんのリストを一部改変してボタンを押されたら次の画像を表示するというふうにしたいのですが
上手くいきません
ボタンのシグナルコネクトをflipという関数に接続したのですが
関数が反応してないようです
どうすればいいか教えてください
改変したリストです↓
URLリンク(www1.axfc.net)

699:login:Penguin
11/10/03 10:45:19.78 DltdAdh6.net
すいません、元のリストをアップしてしまいました
正しくはこちらです(ファイル名をimage2.cに変えました)
URLリンク(www1.axfc.net)

700:login:Penguin
11/10/04 05:43:43.88 OMJjY+ZZ.net
>>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.net
指示レス番まちがえたけど  訂正しねーよ!(我が家杉山)

702:login:Penguin
11/10/04 12:32:09.76 VseFFwAj.net
>>700
動きました、どうもすいません

703:login:Penguin
11/10/04 22:44:16.96 OMJjY+ZZ.net
謝る必要はこれっぽっちもないけど
「動けばいい」とかいう低い志は捨てようや

704:login:Penguin
11/10/17 00:11:29.94 OFrElfAX.net
ボタンを押されたときに、シグナルコネクト先を変更したいのですが
if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)
ボタンを押されたら、シグナルコネクト先を変更するにはどうすればいいのでしょうか?

705:login:Penguin
11/10/17 03:57:34.59 jBv5AccH.net
>>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.net
>>705
ご親切にありがとうございます
解読してみます

707:login:Penguin
11/12/26 12:41:35.30 Jg1bu6au.net
GTKとcarioとpangoの関係を教えて下さい

708:login:Penguin
11/12/27 02:22:40.60 4qSP4mDf.net
なんと、全部文字数が奇数です。

709:login:Penguin
12/02/12 21:52:16.17 vrKTadjR.net
スレリンク(tech板)

710:login:Penguin
12/03/13 01:46:49.13 3Ugm7oRN.net
ウィキ作った
URLリンク(monobook.org)

711:login:Penguin
12/03/13 23:30:30.92 XEqUJYrf.net
ぼくもつくろっと。

712:login:Penguin
12/03/20 06:02:28.11 jPw9I0u0.net
URLリンク(cairographics.org)
URLリンク(cairographics.org)
ぬぉ!死んだと思っていたcairoに新バージョンのニュースが!
FirefoxはLinux版も自前のOpenGLレンダラーに移行しつつあるから、
今更4倍速くなったって言っても悲しいけど、GTK+は間違いなくかなり速くなりそうだ。

713:login:Penguin
12/03/25 06:47:03.05 Bt4mNkdj.net
URLリンク(cairographics.org)
cairo-1.12.0がリリースされた。18ヶ月ぶりのメジャーバージョンアップらしい。
個人的にはGTK+の描画がどれだけ高速化されたかが気になるな。


714:login:Penguin
12/03/25 09:54:04.27 1P7W2wf1.net
>>713
>どれだけ高速化されたかが気になる

cairoで何をしようとしてるの?

715:login:Penguin
12/03/25 18:58:57.29 3RGnGf+l.net
何をしようとしてるかが関係あるの?

716:login:Penguin
12/03/25 21:27:14.92 rI7Awxch.net
正直に白状するが、
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。

717:login:Penguin
12/03/25 21:35:56.39 FgoOLGO6.net
あと、ラジオボタンとか、配列可して、コールバック関数を一つに
まとめる方法もわからないまま
一個一個書いてます。
とほほ


718:login:Penguin
12/03/28 08:35:06.02 ThQeaUjt.net
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?

719:login:Penguin
12/03/28 11:02:58.95 he0UMBAC.net
GTK+はEmacsで使われています

720:login:Penguin
12/03/28 20:02:18.92 ThQeaUjt.net
GTK+はEmacsではキーイベントの処理に使われていません

721:login:Penguin
12/03/28 20:41:18.94 R04800Nw.net
( ゚Д ゚)

722:login:Penguin
12/03/29 22:20:44.47 GJB1hQRo.net
cairoが高速化ってことはeclipseも早くなるのかね

723:login:Penguin
12/03/29 22:37:41.77 CN8scaWa.net
anjutaを使ってみたところ
gtk_signal_connectだと警告なしでコンパイルできるのに
g_signal_connectだと暗黙的関数宣言のエラーになるんですが
どうやったら直せるでしょうか?

724:login:Penguin
12/04/02 18:01:59.91 BFIgJvs2.net
どんな呼び方したのか書いてくれなきゃわからん
一番いい解決方法は DevhelpっていうGUIヘルプビューワ入れて g_signal_connectの説明読むこっちゃ
ver.も気にせずに例を書くとシグネチャ違うみたいだねそれが一番幸せになれる

725:723
12/04/03 21:46:17.80 gvKF9Ts9.net
よく確認してみたところエラーになるのはgtk_signal_connectのほうで
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
URLリンク(developer.gnome.org)

726:login:Penguin
12/04/15 02:03:04.26 Z1/ZfeAU.net
threadやmutex関係もgtk_の方は廃止になって、g_の方のみになった。3。0あたりから
基本的な関数はglibに集約して、ツールキット的な関数のみgtk 3で担当するように住み分けされた
コンパイルの最中に廃止された関数と表示がでるソースは、いずれソースを書き換えないとビルド不能になる
ちなみに最も基本的なlibcでも現在開発ラインの最新版だとgetsが本当にソースから廃止されてるので、getsが使われてるソースをビルドできなくなってる


727:login:Penguin
12/04/15 08:43:51.29 khsJyTTq.net
ガチで使えないキット(GTK)

728:login:Penguin
12/04/22 21:22:17.78 ZPy8N610.net
UGS
Never use gets().


729:login:Penguin
12/05/03 19:08:20.54 2lAo9jqg.net
フォントサイズって10.5ptとか小数点で設定できる?


730:login:Penguin
12/05/04 06:17:57.12 phIzEGLj.net
フォントサイズの指定方法がわかってて
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。

731:login:Penguin
12/05/04 11:44:12.10 LzE47Zaa.net
型がguintみたいだが

732:login:Penguin
12/05/04 14:24:41.51 86E5ktal.net
それがどうした

733:login:Penguin
12/05/09 14:47:56.27 M8lWcVDx.net
Gtk.TreeView.Selection.Mode = Gtk.SelectionMode.Multiple;
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?

734:login:Penguin
12/05/15 22:46:57.21 PyXbSQll.net
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.net
gtk_widget_set_events()

736:login:Penguin
12/05/16 21:45:01.79 oMuQxzgz.net
GTKは親切ではないなーと楽をしてきただけに思いますw

>>735
ありがとうございます
しかし、それらしいのが見つかりません

737:login:Penguin
12/05/23 21:46:04.65 jdgnkMvj.net
GTKのGUIは更新をサボる癖があるようですが
無理やり更新させる方法はないでしょうか?

738:login:Penguin
12/05/23 21:50:35.79 jdgnkMvj.net
更新するWidgetを間違えてた!
解決

739:login:Penguin
12/06/08 19:02:58.11 BmPo410Y.net
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.net
>>739

電源を切れば終了。

741:login:Penguin
12/06/09 03:50:44.00 xIQyunsc.net
gtk_main_quit()のソースコードを読めば解決。

742:login:Penguin
12/06/10 07:41:42.40 NypXeHdm.net
>>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.net
from gi.repository import Gtk

744:login:Penguin
12/08/07 21:52:39.08 4kcOLz8m.net
このスレ的にはGTKのものをそのまま叩くっていうのは危険なこと?

745:login:Penguin
12/08/08 21:32:46.85 heEHx4e5.net
意味わからん。

746:login:Penguin
12/08/09 02:30:11.31 IoAeP/Ow.net
バッシングだな

747:login:Penguin
12/08/09 09:21:30.12 n/9/m8Sd.net
え?ラッパーライブラリを介さず直接コールするって意味じゃないの?

748:login:Penguin
12/08/09 22:47:55.45 Q1A6/Eca.net
>>747
そのとおりです

749:login:Penguin
12/08/09 22:57:00.84 P67COA3s.net
Exactly

750:login:Penguin
12/09/11 19:25:22.84 AmLZmZH+.net
取り敢えずgtk_main_quit()

751:login:Penguin
12/11/27 12:00:27.00 Mwv1yHjg.net
UbuntuでPyGTKを利用してアプリケーションを作っているのですが、一部パーミッションが与えられていないファイルへの書き込みを行いたいと考えております。

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

自分でも書き込めるようにパーミッションを変更していることを前提にしているのですが、変更方法を知らない人や、一々変更した後にアプリケーションを起動するのが煩わしい人向けに、アプリケーションからsudoのようなことができないかと考えております。

752:login:Penguin
12/11/27 23:24:04.63 p3EAvFxY.net
>>751
pyは使えないのですが、この話はGTKのスレの質問でしょうかね?
Cだったらstatとchmod使うところじゃないかと。

753:login:Penguin
12/11/27 23:44:47.91 2Faa51y/.net
>>751
もしかして:gksu

$ sudo command
のかわりに
$ gksu command
ってやると
GUIでパスワード聞かれる

754:login:Penguin
12/11/28 00:24:58.73 JU9FPiAT.net
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?

755:login:Penguin
12/11/28 16:35:00.90 a6DQ5WYq.net
polkit

756:login:Penguin
12/12/02 14:08:52.19 jmMYkF+D.net
>>754
ナイス翻訳

757:login:Penguin
13/02/09 09:31:18.23 cnWShbXp.net
質問させてください。
gtkmm2.4ベースでプログラムをいじっているのですが、画面操作せずにGtk::Dialogを閉じる方法が分かりません
Dialog作成→threadで特定の処理を開始→処理終了→※Dialogを閉じる(画面操作せずに)
と言う流れをプログレス表示などをして処理したいのですがrunした後にresponseをしてもhideしてもDialogが消えません
根本的に分かっていないのでしょうが・・・上記のような処理をするにはどうしたら良いのでしょうか?

758:login:Penguin
13/03/07 14:11:29.83 QnTnog/x.net
こう書く方法ないかな?
public class Window :Gtk.Window{
}

759:login:Penguin
13/03/07 16:21:44.64 19LddT7Q.net
>>758
valaをつかえばいいと思うよ

760:login:Penguin
13/03/08 18:55:04.44 Eqvj3fL9.net
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない

761:login:Penguin
13/03/13 09:34:23.06 EMo1WQCk.net
>>760
valaはwindowsでも普通に使える。

762:login:Penguin
13/03/23 10:23:11.54 PyYsgXcc.net
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら

763:login:Penguin
13/03/23 16:14:11.15 oI1eFSYR.net
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。

お手軽に描写の綺麗なプログラムが書けるってことは素晴らしい。

764:762
13/03/23 16:55:08.61 PyYsgXcc.net
結局add_buttonで追加したボタンを使うのではなく、アクションエリアに普通のボタンを追加し、
connectしたメソッドで処理チェックを行なった後にresponseでIDを投げる事で一応動きは出来たみたいです。
もっと簡単な方法はないですか?

765:login:Penguin
13/05/07 16:10:42.57 6dLQJSLO.net
ちょっとスレチになるかもなんですけど、GTK使われたアプリをWindowsで自動操作したいのですが
WM_LBUTTONDOWNなどで座標を直接指定でやってるんですけどMenuBar以外が反応してくれないです
どうすればいいでしょうか?

766:login:Penguin
13/05/10 02:01:44.26 Jlh16O1w.net
Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww
スレリンク(poverty板)

767:login:Penguin
13/07/03 NY:AN:NY.AN 5x5esxXj.net
FreeWnn スレッドより:
スレリンク(unix板)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だけ置き換えればよい。

ソースにバグありとみた。

768:login:Penguin
13/09/23 01:43:22.12 pt1QWlbc.net
URLリンク(www.tarnyko.net)
ここでWindows版のBroadway実行環境を配布してたから試してみたけど
遅くて使いものにならん…
asm.jsは良い感じなんで、GTK+アプリをそのままasm.jsにコンパイルして
ブラウザで実行出来るようにしてくれたら最高だがな。

769:login:Penguin
13/10/24 11:46:06.77 YHoA8g0Q.net
同一アプリ上で、IconViewからFrameとかImageへDrag & Dropって
可能なんでしょうか・・・。

そんな感じのサンプルをご存知でしたら教えてくださいm(_ _)m

770:769
13/10/25 16:54:19.59 2AmnlVsx.net
すみません、>>769は出来るようになりました。
drop側の設定に問題がありました。

ところで、Imageから別のImageへのDrag & Dropは可能なんでしょうか。
Dragしても、IconViewの時のようにカーソルが変化しません・・・。

771:login:Penguin
14/05/24 01:19:23.19 3aXipg2f.net
pulse()

URLリンク(developer.gnome.org)
URLリンク(developer.gnome.org)

772:771
14/05/24 09:12:07.41 ESO9FbEd.net
>>771
それアクティビティモードというのと違う?
ナイトライダーをしたいわけではないんよ・・・

773:login:Penguin
14/05/24 12:34:03.59 3aXipg2f.net
>>771,773
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?

774:771
14/05/24 14:58:12.72 ESO9FbEd.net
>>773
はい、その通りです。お付き合い頂き有り難う御座います。
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 );
}

775:login:Penguin
14/05/24 16:46:51.13 3aXipg2f.net
おそくなってゴメン、こんな感じでどうでしょう?
URLリンク(www.dotup.org)
>>771 であげたチュートリアルのコードをいじったものです。

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

examplewindow.cc の on_button_update を見れば分かるかと思います。

776:login:Penguin
14/05/24 17:31:46.88 3aXipg2f.net
あれ? queue_draw() いらねーな。w

777:771
14/05/24 22:15:14.18 SrMGc3rQ.net
>>775
コードまで書いて頂き有り難う御座います。
コンパイルして動作を見ましたら、進捗状況の変化を確認できました。
しかしながら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 );
}
}

778:771
14/05/24 23:11:20.28 SrMGc3rQ.net
なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな

[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );

779:login:Penguin
14/05/24 23:56:02.23 3aXipg2f.net
タイマー使って処理させるとか
URLリンク(www.dotup.org)

780:771
14/05/25 10:38:49.48 OwNsCCvJ.net
タイマーか〜処理がスパゲッティーになりかけているから使いづらいんだよね
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな

781:login:Penguin
14/05/25 13:02:49.60 ujxKETx8.net
URLリンク(stackoverflow.com)

782:login:Penguin
14/06/08 10:20:05.83 kFAavqfc.net
ComboBoxでドロップダウンアイテムを選択した時に発生する
イベントってなに?

783:login:Penguin
14/06/08 17:33:49.75 lVyy6Wyn.net
signal_changed()

784:login:Penguin
14/09/22 18:34:36.01 eWn3ghjY.net
本当は先にこっちへ書くべきだった。
gtk_mode
gtk_fashion
gtk_style
gtk_pattern

785:login:Penguin
14/10/03 20:31:58.89 3j8hGaDn.net
みなさん、人工言語の
高級低級の長所短所のチンチンはご存知?

786:login:Penguin
14/10/04 21:22:31.83 PLRFhsu2.net
>>785
日本語でOK

787:login:Penguin
14/10/05 09:12:43.76 6cVZzLYB.net
技術系スレには自分で人口無能を作っちゃう人もいるからな。
>>785が人間とは限らないよ

788:login:Penguin
14/10/05 12:54:17.13 8NkrJ1Fe.net
かわいいかっぽれ

789:login:Penguin
14/10/05 14:16:26.58 8NkrJ1Fe.net
人の嫌がる事をすすんでしましょう

790:login:Penguin
14/12/27 20:58:23.25 FwEwRAao.net
すみませんが質問させてください
gtkmmでボタンを作りボタンを押された時にソケットで通信しようとしたのですが
select関数をした時に「リソースが一時的に利用できません」と出てしまい動きません
コンストラクタでselect関数を使うと動くのですが・・・
gtkmmに通信を阻害する要因とか有るのでしょうか?

791:login:Penguin
14/12/28 23:07:33.76 aGqgOq87.net
学校の課題でシューティングゲーム作ってるんですが、cairoで表示した複数の画像の手前、奥の位置関係を変えることってできますか?

792:login:Penguin
14/12/29 00:51:05.82 13XuaNya.net
はい。

793:login:Penguin
16/01/23 21:11:40.92 XkMlkiDd.net
昨日からC+GTKでプログラム作ってるんだけど質問。treeviewでリスト表示してる状態で、キー入力すると、
なんか入力ボックスが開いて入力させるんだけど、これを止めさせる方法がわからない
表示だけさせたいんで、編集できるかも?って感触を持たせたくない
エラー表示させる積りはないけど、無視したい
多分、単純な事なんだろうけど...

794:login:Penguin
17/02/04 12:26:02.78 KMsE1Vqa.net
>>793
既に解決してるかもしれないけど
GtkTreeViewのプロパティにある「検索可能」フラグをOffにすればよいみたい

795:login:Penguin
17/02/12 13:51:10.49 +yRaNQxe.net
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も疑ったのですがこちらは関係ないような気がします)
提示する情報が分からず情報不足かも知れませんが宜しくお願いします

796:796
17/02/12 17:47:04.39 +yRaNQxe.net
コールバック関数内で描画に関わる関数を呼んで、その次にPixbufを取り出す関数を読んでたのですが
どうもコールバック関数が終わるまでイベントが処理されないようでした
強制的にイベントを処理する下記コードを追加して上手く動く様になりました
while( Gtk::Main::events_pending() ) {
Gtk::Main::iteration( true );
usleep( 1000 );
}
出来ればDrawingAreaに描画しなくてもPixbufを取り出せると良いのですが・・・
(Pango::Layoutあたりから直接画像イメージを作れないでしょうか)

797:login:Penguin
17/05/24 13:46:02.74 TLlefqX7.net
GTKってどうなの?
GTKかQtkかなんやんでQtにしたんだけど(当時kdevelopってQtの開発環境があったんだよね、今もあるけど)。

798:login:Penguin
17/05/24 14:19:50.72 pbxEBOft.net
今からやるならQtのほうがいいんでね?
これからGTK+4で阿鼻叫喚になるのと対照的に、Qt5へ移行したばっかだし

799:login:Penguin
17/05/24 14:29:06.20 TJNNAVtb.net
>>797
ウインドウ内でうねうね動かせて視覚効果高いのがのがQt。Qtならゲームも作れる。
そうゆうの全く無理で地味でも、ちょうど良いコンパクトサイズのボタン等が充実しててツール作ったりするのに適してるのがGTK。

800:login:Penguin
17/05/24 18:53:21.69 cGg4zBc+.net
GTK+4以降では、「安定なAPI体系はハナから持たない」って認識でいいの?
ffmpegのように絶え間なくAPIが変化し続けることになる?
で、バージョン番号もブラウザのようにうなぎ上りになるのか

801:login:Penguin
17/05/24 20:06:41.07 PSOKRtb/.net
URLリンク(blogs.gnome.org)
2年ごとにメジャーバージョン更新
最新のメジャーバージョンは開発中につき不安定
各メジャーバージョンの最終版=安定版としたいらしい

802:login:Penguin
17/05/24 22:24:13.70 0wlGVdsK.net
なるほど
ffmpegほどキ○ガイな方針ではないのね

803:login:Penguin
17/06/24 15:36:13.60 J/+rjWu3.net
java の JList みたいなことはできる?
どういうのかというと、参考画像
URLリンク(docs.oracle.com)
リストのアイテムがテーブル上に並んでいて、
上下左右にカーソル移動できる。
GTK だとないかな?

804:login:Penguin
17/06/24 17:57:54.57 cdtIIsj7.net
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()

805:804
17/06/26 15:14:10.11 y5aZk+CQ.net
>>804
なるほど、IconView でテキストか。
できたできた、
どうもありがとう!

806:login:Penguin
17/07/04 04:00:58.40 Rpvk2+Dl.net
gtk勉強しようかと思うんだけどもうオワコン?
でもQtバインディングよりgtkバインディングのほうが多いしなぁ...
gtk4で大幅に進化したりしないかな

807:login:Penguin
17/07/04 13:24:32.59 8Z5Rtw2V.net
両方やってみればいい
考えてるほど時間も労力も掛からないよ

808:login:Penguin
17/07/11 15:53:30.96 9jKfhw2z.net
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() でざっくりで指定しないとダメかなあ。

809:login:Penguin
17/07/11 21:23:00.28 w3xO5s8F.net
>>808
直接の答えは分からないけど、何の工夫もせずにやったらボタンが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;
  }
}

810:login:Penguin
17/09/24 13:44:57.02 AWmycg5C.net
toolbar に付いている「つまみ」
(アプリでよくある「toolbar を固定する」みたい感じなのをオフにすると現れる、持つ部分?)
あれは GTK+ では、どうやって出すのでしょうか?

811:login:Penguin
17/09/24 23:45:06.00 PwTxDy1k.net
GtkHandleBoxならdeprecatedだぞ

812:login:Penguin
17/09/25 09:15:38.26 bLbAubVC.net
VTEのspawnなんとかのAPIはいつになったらファイナライズされるのかね(怒

813:login:Penguin
17/10/05 21:14:42.06 c3KsIY0h.net
gtk4が気になってgtkの勉強始めようと思うんだけど初心者は何から始めるのがおすすめでしょうか?

814:login:Penguin
17/10/10 12:36:19.63 d/a7Ir8S.net
python3+gtk3で作るに際し
IDE (統合環境)みたいなのってある?
そう大げさなものでなくてよくて
コード補完(gtkのメソッドの)が
出来ればいいかなぐらいの感じなんだけど
もしくは大抵何が使われているのか

815:login:Penguin
17/10/10 15:06:28.56 6wfTcDmJ.net
pycharm

816:login:Penguin
17/10/10 15:07:12.53 6wfTcDmJ.net
あるいはvscodeにpythonプラグイン入れれば出来るかな

817:login:Penguin
17/10/10 21:08:41.65 d/a7Ir8S.net
>>815-816
thank you

818:login:Penguin
17/10/15 20:41:28.01 IZYKuyT8.net
補足だけどpycharmでgtkの補完を行うにはちょっとした作業が必要みたい
URLリンク(stackoverflow.com)
vscodeのほう(というかjediという補完ツール)も何かしら方法はあるっぽい?

819:login:Penguin
17/11/01 06:36:53.25 6RRJjvM+.net
#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;
}

820:login:Penguin
17/11/01 06:37:32.12 6RRJjvM+.net
続き
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);
}

821:login:Penguin
17/11/01 06:37:57.41 6RRJjvM+.net
続き
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);
}

822:login:Penguin
17/11/01 06:38:38.92 6RRJjvM+.net
続き
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;
}

823:login:Penguin
17/11/01 06:39:29.00 6RRJjvM+.net
続き
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);
}
}

824:login:Penguin
17/11/01 06:39:49.40 6RRJjvM+.net
最後
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;
}


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

566日前に更新/274 KB
担当:undef