[過去ログ] GTK+プログラミング (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
146
(3): 2008/12/27(土)13:12 ID:IS4Ugvd/(1) AAS
Cairo のフォント描画は Windows 上だとジャギが目立つ。Linux 上では問題無し。
何か設定がいるのかしら。
147: 2008/12/27(土)20:23 ID:B/jsjdnT(2/3) AAS
普通ベクトル・グラフィクスにジャギーは発生しない

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

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

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

ところでskiaて何?
151: 2008/12/28(日)10:40 ID:xJesvUS3(1) AAS
mexo
hanaxo
152: 2008/12/28(日)11:37 ID:5NoVhFnO(1) AAS
>>145-146
フォント描画にはPangoを使えばいいんじゃないの?
153
(1): 2008/12/29(月)18:19 ID:qsmFI5vI(1/2) AAS
>>150
外部リンク[cgi]:www.hyuki.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>170
詳しく教えてください。
173: 2009/01/21(水)16:47 ID:oi/rQuGm(1) AAS
>>172
自分は真面目に調べたのか?
174
(2): 2009/01/21(水)22:48 ID:zay9Vio9(1) AAS
>>167
まず言語は何でプログラミングしてるの?
個人的には盛り上がって欲しいスレではあるのだけれど。
CでガリガリGTKアプリ書いてる人あんまりいないのかな…
175
(1): 167 2009/01/22(木)01:25 ID:qMqmINP5(1) AAS
>>174
C でやってます。
176: 2009/01/22(木)02:12 ID:N/oI0lI0(1) AAS
>>175
set_orientationでvertical指定
詳しくはググれ
177: 2009/01/23(金)07:41 ID:Azeyn9TC(1) AAS
Objective-C使ってます
178: 167 2009/01/23(金)13:07 ID:AEZO7GNu(1) AAS
toolbar を縦(vertical)に配置することには成功したのですが、
menubar を縦(vertical)に配置する方法が見つかりません。

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

どうすればできるでしょうか?
179: 2009/01/24(土)17:41 ID:j3OrWlaN(1) AAS
AA省
180: 167 2009/02/01(日)07:28 ID:lE4ur93H(1) AAS
お前等、なにも知らないんですね。
181
(1): 2009/02/02(月)10:47 ID:IIH5qxfd(1) AAS
もともと閲覧者が少ないスレで
自分の欲しいタイミングで回答を得ようとしてるのが間違い

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

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

* Gnome vs KDE -- 2chスレ:linux
136: login:Penguin [] 2009/02/01(日) 11:19:51 ID:lE4ur93H

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

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

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

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

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

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

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

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

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

doc/reference読み方を覚える

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

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

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

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

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

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

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

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

どっちかと言うとQtの方が活発
212
(2): 2009/08/23(日)00:41 ID:cXbPjTOU(1/3) AAS
初歩的な質問です。

Xを使わずにフレームバッファを使うGTK+アプリをリンクする際は、どのgtkライブラリをリンクすればいいのでしょうか?
Xを使う場合だと以下のようなリンクオプションになると思いますが、フレームバッファを使用する場合のリンクオプションを教えてください。
$ pkg-config gtk+-2.0 --libs
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  
213: 2009/08/23(日)01:17 ID:oYmg5B0H(1) AAS
Xを使わずにフレームバッファを使うGTK+とやらはインストールしてあんの?
214
(1): 212 2009/08/23(日)02:02 ID:cXbPjTOU(2/3) AAS
debian上からaptitudeでlibgtk2.0とlibgtk2.0-dev関連のライブラリをインストールしてあります。
215
(1): 2009/08/23(日)06:49 ID:Do4KpMOi(1) AAS
Xを使わないと動かんよ。
Gtk+はXLibの面倒臭さを軽減するためのライブラリに過ぎんのだから。
Windowsに移植する場合にもXLib相当のが要る
216
(1): 2009/08/23(日)09:20 ID:WBxszhFm(1) AAS
>>214
それはX用のパッケージ。
フレームバッファ用のGTKはlibgtk-directfb-2.0-*だぞ。

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

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

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

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

外部リンク:live.gnome.org
のUpcoming Deprecationsで非推奨になっているものは、消えゆく運命。
224: 名無しさん@そうだ選挙に行こう 2009/08/30(日)11:08 ID:IHJ1WvuS(2/2) AAS
>>223
Debianのlennyを使っているのでAnjuta 2.4.2、Glade 3.4.5です・・・
GtkBuilderのサンプル探しの旅に出たいと思います。有り難うございます
225: 2009/08/31(月)02:59 ID:WV5KE7UC(1) AAS
glade も GtkBUilder もほとんど同じだから、リファレンスを見ながらで
書けると思うけど。
226
(1): 2009/08/31(月)14:47 ID:4XJ92u20(1) AAS
GtkBUilderを使ったGtk::Drawingariaのサンプルを作ろうとしたんだけど
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?
227
(1): 2009/09/01(火)01:49 ID:o0MV2wSR(1/4) AAS
とりあえずこんな感じか。
(ちなみに C++ は main に限って return は不要。これ豆知識な)

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

AppWindow::Initialize(argc, argv);

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

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

kit.run(*app_window);
}
228: 2009/09/01(火)01:51 ID:o0MV2wSR(2/4) AAS
class AppWindow : public Gtk::Window
{
public:
static const char* GLADE_FILE_NAME;
static const char* WINDOW_NAME;

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

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

protected:
void on_quit_action_activated();

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

Glib::RefPtr<Gtk::Action> m_act_quit;
};
229
(2): 2009/09/01(火)01:58 ID:o0MV2wSR(3/4) AAS
const char* AppWindow::GLADE_FILE_NAME = "app_window.glade";
const char* AppWindow::WINDOW_NAME = "window1";

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

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

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

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

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

AppWindow::~AppWindow()
{
}

void AppWindow::on_quit_action_activated()
{
Gtk::Main::quit();
}
230: 2009/09/01(火)02:02 ID:o0MV2wSR(4/4) AAS
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。
231: 2009/09/01(火)20:43 ID:LcijR9gh(1) AAS
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ
232: 2009/09/01(火)20:45 ID:azH81sw2(1) AAS
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ
233: 2009/09/02(水)01:45 ID:XY5vbVWT(1) AAS
ちなみに AppWindow みたいに Gtk::Widget を継承している場合は、単に

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

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

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

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
235
(1): 2009/09/02(水)18:54 ID:Wp36mia7(2/3) AAS
結局こんな感じに書いてつながったけど、何かモヤモヤするよ
複雑になってくると小汚くなりそうだなー

builder_xml->get_widget( "drawingarea1", daria1 );
daria1->signal_button_press_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_press ) );
daria1->add_events( Gdk::BUTTON_PRESS_MASK );
daria1->signal_expose_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_expose_event ) );
daria1->add_events( Gdk::POINTER_MOTION_MASK );
daria1->signal_motion_notify_event().connect( sigc::mem_fun( *this, &MyDialog::on_daria_motion_notify_event ) );
daria1->signal_realize().connect( sigc::mem_fun( *this, &MyDialog::on_daria_realize ) );
236
(1): 2009/09/02(水)19:25 ID:Wp36mia7(3/3) AAS
class MyDialog
{
Glib::RefPtr<Gtk::Builder> builder_xml;
Gtk::DrawingArea* daria1;

public:
MyDialog();
virtual ~MyDialog(){}
bool on_daria_press(GdkEventButton* event);
bool on_daria_expose_event( GdkEventExpose* event );
bool on_daria_motion_notify_event( GdkEventMotion* event );
void on_daria_realize();
};
237: 2009/09/03(木)02:34 ID:6mgKfH1n(1/3) AAS
>>234
> m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
> これってどんな意味かな?
これは GtkAction を取得するんだけど get_object は Glib::RefPtr<Glib::Object> を返す
からキャストが必要になるけど、ドキュメントには cast_static を使うようにって書いて
あるからこうしてる。

当然 app_window.glade に "action1" という名前の GtkAction がないと駄目だよ。
それで落ちてるんじゃない?
238: 2009/09/03(木)02:38 ID:6mgKfH1n(2/3) AAS
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
239: 2009/09/03(木)02:47 ID:6mgKfH1n(3/3) AAS
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。
240: 2009/09/03(木)12:32 ID:jVnTHMiE(1) AAS
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

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

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

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

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

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

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

hogehoge.show()

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

外部リンク[html]:www.nabble.com

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

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

●の部分は外してブラウザのURLに入れること
268
(1): 2009/10/16(金)23:10 ID:qPhMCs8o(1/3) AAS
>>258
「入門GTK+」
今日、買ってきたよ。

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

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

誰か、「猿でもわかるqt4」って本、書いてくれないかな〜
272
(1): 2009/10/16(金)23:37 ID:q3/VuRbk(2/2) AAS
GTK+は使ったときないけど、QtもQt Creatorもすごく使いやすいぬ(´・ω・`)
GTK+簡単なら使ってみようかしら。
1-
あと 730 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s