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/
GTK+プログラミング
1login:Penguin
2007/09/05(水) 13:58:46ID:2SORZMjm2008/12/27(土) 21:26:06ID:mPWXe8Aq
a
2008/12/27(土) 22:20:00ID:B/jsjdnT
>>148
firefox2とfirefox3の速度比較は
確証を裏づけるものにはならないか?
一般的にラスター描画よりベクトル描画の方がデータ数が少なく、描画速度は速いと言われているし
ところでskiaて何?
firefox2とfirefox3の速度比較は
確証を裏づけるものにはならないか?
一般的にラスター描画よりベクトル描画の方がデータ数が少なく、描画速度は速いと言われているし
ところでskiaて何?
2008/12/28(日) 10:40:10ID:xJesvUS3
mexo
hanaxo
hanaxo
2008/12/28(日) 11:37:59ID:5NoVhFnO
2008/12/29(月) 18:19:47ID:qsmFI5vI
2008/12/29(月) 22:41:52ID:mdZmAujL
>>153
これはハードウェア実装のOpenGLによるベクタ描画と
ソフトウェア実装のcairoによるベクタ描画の実験結果だな...
ハードウェア実装だとプラットフォームやハードウェア環境の影響を受けるが
ソフトウェア実装より格段に速度を上げられる
だからこそcairoにもOpenGLによるハードウェアアクセラレーションのサポートがあるわけだが...
でもビデオカードやらのGPU性能依存というのは
それこそ3DデスクトップやらVistaやらのPC肥大化狂騒曲じゃないのか?
ハードウェア実装を否定してるわけじゃないが
これはアリなの?
そこのところどうなんよ?
これはハードウェア実装のOpenGLによるベクタ描画と
ソフトウェア実装のcairoによるベクタ描画の実験結果だな...
ハードウェア実装だとプラットフォームやハードウェア環境の影響を受けるが
ソフトウェア実装より格段に速度を上げられる
だからこそcairoにもOpenGLによるハードウェアアクセラレーションのサポートがあるわけだが...
でもビデオカードやらのGPU性能依存というのは
それこそ3DデスクトップやらVistaやらのPC肥大化狂騒曲じゃないのか?
ハードウェア実装を否定してるわけじゃないが
これはアリなの?
そこのところどうなんよ?
2008/12/29(月) 23:04:54ID:qsmFI5vI
>>154
んー
それを言うなら、GDIだってハードウェアアクセラレートされていて、
GDIがソフトウェアでエミュレートされるようになったWindows Vistaでは
実際描画が遅いのなんのと騒ぎになっていたわけだろ
cairoは、下のレイヤの上に乗っかって、アンチエイリアス描画を行うから、
一般的には下のプリミティブをそのまま用いるのではなく、
pixmapの上にソフトウェアレンダリングを行う形になる
だから結果は綺麗だが、それが高速化につながるという意見はさっぱりわからんね
皮をかぶせれば、ポータビリティは高まるかもしれんが、速くなるわけがないよ
個人的にちょっと試した限りでは、少なくともWindowsで普通にコンパイルした
cairoは、遅いといわれるGDI+よりもまだ遅いぐらいだ
同種の競合ソフトのaggと比べても、やはり遅いな
んー
それを言うなら、GDIだってハードウェアアクセラレートされていて、
GDIがソフトウェアでエミュレートされるようになったWindows Vistaでは
実際描画が遅いのなんのと騒ぎになっていたわけだろ
cairoは、下のレイヤの上に乗っかって、アンチエイリアス描画を行うから、
一般的には下のプリミティブをそのまま用いるのではなく、
pixmapの上にソフトウェアレンダリングを行う形になる
だから結果は綺麗だが、それが高速化につながるという意見はさっぱりわからんね
皮をかぶせれば、ポータビリティは高まるかもしれんが、速くなるわけがないよ
個人的にちょっと試した限りでは、少なくともWindowsで普通にコンパイルした
cairoは、遅いといわれるGDI+よりもまだ遅いぐらいだ
同種の競合ソフトのaggと比べても、やはり遅いな
2008/12/30(火) 02:24:04ID:chmi7ht1
cairoの下のレイヤって何?
cairoはGTK+/GDKやXlibの上にはない
そもそもpixmapのようなラスタデータ上にベクタデータを
ラスタライズしても綺麗な結果にはならない
Vistaが重い一番の理由はVistaのコアが4Gとかのせいじゃなかったか?
cairoはGTK+/GDKやXlibの上にはない
そもそもpixmapのようなラスタデータ上にベクタデータを
ラスタライズしても綺麗な結果にはならない
Vistaが重い一番の理由はVistaのコアが4Gとかのせいじゃなかったか?
2008/12/30(火) 03:17:23ID:xp1VmVKW
>>156
> cairoの下のレイヤって何?
> cairoはGTK+/GDKやXlibの上にはない
????
cairoは何らかのバックエンド(サーフェス)の上で描画を行うわけだが
一体何を言ってるんだ
> そもそもpixmapのようなラスタデータ上にベクタデータを
> ラスタライズしても綺麗な結果にはならない
ビットマップディスプレイに、ラスタデータ以外をどうやって描画するんだ?
ベクタグラフィックスだろうが3Dだろうが、ビットマップディスプレイに
描画するときは、*必ず*2Dラスタデータに落とす(=レンダリング)
しなければ、描画のしようがないのだが、そんなことも知らないのか?
レンダリングをソフトウェアで行うか、ハードウェアで行うかは
実装の問題だがな
> cairoの下のレイヤって何?
> cairoはGTK+/GDKやXlibの上にはない
????
cairoは何らかのバックエンド(サーフェス)の上で描画を行うわけだが
一体何を言ってるんだ
> そもそもpixmapのようなラスタデータ上にベクタデータを
> ラスタライズしても綺麗な結果にはならない
ビットマップディスプレイに、ラスタデータ以外をどうやって描画するんだ?
ベクタグラフィックスだろうが3Dだろうが、ビットマップディスプレイに
描画するときは、*必ず*2Dラスタデータに落とす(=レンダリング)
しなければ、描画のしようがないのだが、そんなことも知らないのか?
レンダリングをソフトウェアで行うか、ハードウェアで行うかは
実装の問題だがな
2008/12/30(火) 03:38:55ID:F99IYk+S
他の領域に落としたらそれが遅くなる原因だしな。
絵の処理なら、cpuから見えるメモリ領域のビットマップに転送が遅くなる原因のno1。
cairoは、その辺がすべてバックエンド任せでさらにメモリ上でいじるので、
普通に使うと遅いソフト(cpu)処理の部類に分類される。
てか、cairoの中身でも描画なんかは一切触れずに、cairo_surface_tで共通化とでしか使ってないと思うんだけどどう?
絵の処理なら、cpuから見えるメモリ領域のビットマップに転送が遅くなる原因のno1。
cairoは、その辺がすべてバックエンド任せでさらにメモリ上でいじるので、
普通に使うと遅いソフト(cpu)処理の部類に分類される。
てか、cairoの中身でも描画なんかは一切触れずに、cairo_surface_tで共通化とでしか使ってないと思うんだけどどう?
2009/01/04(日) 04:31:10ID:OlEL3WLc
待てばcairoの日和あり
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 無しで「右」キーのみ
で作用するようにしたいんです。
今は仕方なく
gtk_widget_add_accelerator (foo, "activate", accel_group,
GDK_Right, GDK_MODIFIER_MASK,
GTK_ACCEL_VISIBLE);
のようにしてますが、実際は GDK_MODIFIER_MASK 無しで「右」キーのみ
で作用するようにしたいんです。
2009/01/12(月) 22:30:23ID:Ap11sUPz
ところでさ、なんでGtkTreeViewColumnに
gtk_tree_view_column_get_widthはあるのにgtk_tree_view_column_set_widthはないの?
なんでカラムの幅を非常にまわりくどい方法でセットする事しかできないんだろう。
gtk_tree_view_column_get_widthはあるのにgtk_tree_view_column_set_widthはないの?
なんでカラムの幅を非常にまわりくどい方法でセットする事しかできないんだろう。
2009/01/13(火) 21:49:47ID:4aexh9M5
バカ除けのため
2009/01/14(水) 06:35:18ID:ON4hZt79
>>164
なにそれww
なにそれww
2009/01/14(水) 10:40:30ID:hbYm8nJe
>>163
他のコラムに対する影響を考えないといけないからでないの? 推測だけど
他のコラムに対する影響を考えないといけないからでないの? 推測だけど
167login:Penguin
2009/01/19(月) 07:00:18ID:Zkvelgln どうすればtoolbarを縦に位置させることができますか?
2009/01/19(月) 14:58:09ID:rA2FfI0+
ディスプレーをガタンとですね
2009/01/19(月) 15:05:50ID:Zkvelgln
>>168
???
???
2009/01/20(火) 05:28:26ID:N3/xwV6v
>>167
D&D
D&D
2009/01/20(火) 07:38:29ID:eUZx4J2+
>>168
ワロタ
ワロタ
2009/01/21(水) 16:47:39ID:oi/rQuGm
>>172
自分は真面目に調べたのか?
自分は真面目に調べたのか?
174login:Penguin
2009/01/21(水) 22:48:05ID:zay9Vio92009/01/22(木) 02:12:53ID:N/oI0lI0
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 と同様の関数が存在しません。
どうすればできるでしょうか?
menubar を縦(vertical)に配置する方法が見つかりません。
// 例えば、menubar に対しては gtk_toolbar_set_orientation と同様の関数が存在しません。
どうすればできるでしょうか?
179login:Penguin
2009/01/24(土) 17:41:53ID:j3OrWlaN linuxデスクトップユーザーの特徴
@インストールしただけで選民思想
Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
Bコマンド打ち込んでプロだと勘違い
C黙ってwindowsでも使ってろと間口を狭める
D素人がだのなんだのとwindowユーザーを馬鹿にする
Eカーネルいじればいいだろと無茶を要求
Flinux開発者とのずれを認識できていない
Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく
冫─' ~  ̄´^-、
/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / / linuxはめんどくさくて難しい分だけ、
/|ヽ ヽ──' / < 自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
@インストールしただけで選民思想
Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
Bコマンド打ち込んでプロだと勘違い
C黙ってwindowsでも使ってろと間口を狭める
D素人がだのなんだのとwindowユーザーを馬鹿にする
Eカーネルいじればいいだろと無茶を要求
Flinux開発者とのずれを認識できていない
Gwineを使うくせに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を作るにはどのライブラリを使うのでしょう?
では、LinuxでGUIを作るにはどのライブラリを使うのでしょう?
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 = テフ
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 = テフ
2009/02/02(月) 20:46:11ID:2frQG7fR
ただの荒らしコピペに反応すんなよ
NG登録されて回答もらえなくても知らんぜ
NG登録されて回答もらえなくても知らんぜ
186login:Penguin
2009/02/10(火) 20:32:40ID:8DV6Um/n ファイル選択ダイアログを、ターミナルから閉じたくて、
下の処理を入れたのですが、ダイアログを閉じた後、応答が無くなります。
(GUIでキャンセルボタンや×をクリックすると正常に閉じれる)
どうすれば、ターミナルから正しく閉じれるかを教えてください。
GtkWidget *filew = NULL;
void FileSelection::destroyFileSelection()
{
status = false;
gtk_widget_destroy(filew);
}
下の処理を入れたのですが、ダイアログを閉じた後、応答が無くなります。
(GUIでキャンセルボタンや×をクリックすると正常に閉じれる)
どうすれば、ターミナルから正しく閉じれるかを教えてください。
GtkWidget *filew = NULL;
void FileSelection::destroyFileSelection()
{
status = false;
gtk_widget_destroy(filew);
}
2009/03/29(日) 11:33:55ID:JOkFFCq+
Windowsでは、自分以外のプロセスが管理しているウィンドウのハンドル(動作中のOS上で
ユニークな識別番号)を得ることができれば、そのウィンドウのサイズやデスクトップ上での
位置などを好きにいじくったりできるのですが、LinuxのGTK+(またはGNOMEもしくはX Window
System)にそのようなAPIのようなものはありますか?
ユニークな識別番号)を得ることができれば、そのウィンドウのサイズやデスクトップ上での
位置などを好きにいじくったりできるのですが、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起動できないからよくわからん。
libwnckてのが関係ありそうだが、Rubyから使えるんだろうか。Pythonにはそのための
モジュールが既にあるみたいなんだけど。今Ubuntu起動できないからよくわからん。
2009/03/29(日) 21:12:45ID:Afl3tAxS
>>187
wmctrl コマンドのソースでもみればいいんじゃね?
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+勉強なさいましたか?
おまえらはどうやってGTK+勉強なさいましたか?
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+とかメーリングリストで質問
GTK+ソース付属のexamples+demosを動かして遊ぶ
↓
GTK+ソース付属のtutorialを一通りこなす web: http://library.gnome.org/devel/gtk-tutorial/stable/
↓
doc/reference読み方を覚える
↓
小さいアプリをsourceforgeとかfreshmeetで見つけてきて参考にする
↓
irc.freenode.netの#gtk+とかメーリングリストで質問
2009/07/18(土) 15:41:41ID:0IAjxnq5
難しそうですね
断念しました
ありがとうございませんでした
断念しました
ありがとうございませんでした
197login:Penguin
2009/07/18(土) 18:31:08ID:NxC2oWbI 何をどう見たら難しそうなんだよ?
ゆとりか?
英語にびびるな!
サンプルソースなんてコピればコンパイルできる
WindowsでもLinuxでもCode::Blocks使えばそれほど
コンパイルできる開発環境の準備には手間取らない
ゆとりか?
英語にびびるな!
サンプルソースなんてコピればコンパイルできる
WindowsでもLinuxでもCode::Blocks使えばそれほど
コンパイルできる開発環境の準備には手間取らない
2009/07/18(土) 19:30:03ID:+ryPUP7D
ママが一から十まで教えてくれなきゃイヤなんじゃね
199login:Penguin
2009/07/18(土) 20:00:15ID:ghQ1gSty pygtkがいちばんやさしくてにょろにょろ
2009/07/18(土) 20:39:03ID:0IAjxnq5
2009/07/19(日) 01:03:57ID:vKaqQMs4
携帯とか組みこみでGTK+を使っているものって何かある?
海外では結構あるみたいだけど、日本だと聞かないよな。
海外では結構あるみたいだけど、日本だと聞かないよな。
2009/07/24(金) 16:52:07ID:99ViSCNs
>>201
書いてないだろ常考
書いてないだろ常考
2009/07/24(金) 17:15:55ID:aH4gErtS
>>202は日本語に不自由な方?
2009/07/24(金) 17:48:23ID:99ViSCNs
うん
2009/07/24(金) 23:12:42ID:6YmCBCzn
GTKはもう少しで消滅する
googleの新しいソリューションに置換される
googleの新しいソリューションに置換される
2009/07/25(土) 04:36:37ID:00SH8Kn9
Chrome OS の事か?
確かにウィンドウシステムは時前のものを用意するらしいけど、
どうなんだろうね。そもそもソースが公開されるかどうかも怪しい。
それに、GTK+の培ってきた年月を一気に越えられるとも思えないし。
確かにウィンドウシステムは時前のものを用意するらしいけど、
どうなんだろうね。そもそもソースが公開されるかどうかも怪しい。
それに、GTK+の培ってきた年月を一気に越えられるとも思えないし。
2009/07/25(土) 05:18:20ID:corW1o/2
グーグルは基本Qtじゃないの。
でも今更ブラウザの下の層なんか関係ないはず。
HTML5 でアクティブデスクトップっていう懐かしいお話をもう一度やるんでしょ
でも今更ブラウザの下の層なんか関係ないはず。
HTML5 でアクティブデスクトップっていう懐かしいお話をもう一度やるんでしょ
2009/07/25(土) 06:22:09ID:00SH8Kn9
まぁ、googleはWEBアプリが基本だから、そうなるのかね。
ただ、この事前の大袈裟なプロパガンダはMSに似てるなw
ただ、この事前の大袈裟なプロパガンダはMSに似てるなw
2009/07/25(土) 09:19:09ID:wdRQEHVW
GTKスレはあるのにQTスレがないのはなんでだろう〜
2009/07/25(土) 10:58:46ID:QoKls/xb
>>209
ム板にあるからじゃないか?
ム板にあるからじゃないか?
211login:Penguin
2009/07/25(土) 11:39:56ID:IOPwPp1+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
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
2009/08/23(日) 01:17:03ID:oYmg5B0H
Xを使わずにフレームバッファを使うGTK+とやらはインストールしてあんの?
214212
2009/08/23(日) 02:02:51ID:cXbPjTOU debian上からaptitudeでlibgtk2.0とlibgtk2.0-dev関連のライブラリをインストールしてあります。
2009/08/23(日) 06:49:16ID:Do4KpMOi
Xを使わないと動かんよ。
Gtk+はXLibの面倒臭さを軽減するためのライブラリに過ぎんのだから。
Windowsに移植する場合にもXLib相当のが要る
Gtk+はXLibの面倒臭さを軽減するためのライブラリに過ぎんのだから。
Windowsに移植する場合にもXLib相当のが要る
2009/08/23(日) 09:20:44ID:WBxszhFm
217212
2009/08/23(日) 10:44:26ID:cXbPjTOU >>216
そうなんですか!
以前ググったら下記サイトのフレーズが目に留まり、てっきりDirectFBじゃなくてもフレームバッファでも利用可能なのだと思ってました。 orz
ttp://armadillo.atmark-techno.com/articles/sd-a500-embedded-course-ch3
>GTK+
>GNOME アプリケーションでユーザインターフェースを構築するのに利用される基礎的なライブラリで,XWindow System 上で動作します(http://www.gtk.org/).フレー>ムバッファやDirectFB 上などでも動作するように設定することができます.
ご教示いただいたライブラリをインストールして確認してみます。
そうなんですか!
以前ググったら下記サイトのフレーズが目に留まり、てっきりDirectFBじゃなくてもフレームバッファでも利用可能なのだと思ってました。 orz
ttp://armadillo.atmark-techno.com/articles/sd-a500-embedded-course-ch3
>GTK+
>GNOME アプリケーションでユーザインターフェースを構築するのに利用される基礎的なライブラリで,XWindow System 上で動作します(http://www.gtk.org/).フレー>ムバッファやDirectFB 上などでも動作するように設定することができます.
ご教示いただいたライブラリをインストールして確認してみます。
2009/08/29(土) 19:05:24ID:7RbftsXX
libgrade+gtkmmをいじって遊んでいるのだけど
メインウィンドウからダイアログのようなウィンドウを開く
サンプルは何処かに有りませんでしょうか
メインウィンドウからダイアログのようなウィンドウを開く
サンプルは何処かに有りませんでしょうか
2009/08/29(土) 21:56:36ID:OBRUPUZc
2009/08/30(日) 01:00:57ID:XE+apBqt
>>219
libgladeを使っていない様です。
libgladeを使っていない様です。
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()する流れは同じだと思うけど、
丁度良いサンプルは見つからないな。。。
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()する流れは同じだと思うけど、
丁度良いサンプルは見つからないな。。。
2009/08/30(日) 08:51:11ID:IHJ1WvuS
>>221
有難うございます。小汚い書き方で何とか表示だけはするようになりました(いろいろ問題が有るけど)
綺麗に書いてあるサンプルなど見ればもう少しましになるかと思ってたのです。
libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
今は何を使う方向なんでしょうか?
有難うございます。小汚い書き方で何とか表示だけはするようになりました(いろいろ問題が有るけど)
綺麗に書いてあるサンプルなど見ればもう少しましになるかと思ってたのです。
libgladeは使われなくなる方向なんですね。anjutaでデフォルトではく雛型がlibgladeだったので調べてました
今は何を使う方向なんでしょうか?
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で非推奨になっているものは、消えゆく運命。
> 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で非推奨になっているものは、消えゆく運命。
2009/08/30(日) 11:08:36ID:IHJ1WvuS
2009/08/31(月) 02:59:20ID:WV5KE7UC
glade も GtkBUilder もほとんど同じだから、リファレンスを見ながらで
書けると思うけど。
書けると思うけど。
2009/08/31(月) 14:47:43ID:4XJ92u20
GtkBUilderを使ったGtk::Drawingariaのサンプルを作ろうとしたんだけど
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?
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);
}
(ちなみに 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);
}
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;
};
{
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;
};
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();
}
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();
}
2009/09/01(火) 02:02:59ID:o0MV2wSR
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。
2009/09/01(火) 20:43:11ID:LcijR9gh
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ
2009/09/01(火) 20:45:43ID:azH81sw2
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ
少しずつ見てみるよ
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++ っぽい書き方な気がする。
class AppWindow : public Gtk::Window
{
public:
virtual void on_show()
{
cout << "表示された" << endl;
}
};
みたく仮想関数をオーバーライドするだけでいいんだけどね。
ただ、これもトップレベルのウィンドウのイベントしか反応できないから、
>>229 のコンストラクタみたく cast_static なんかでボタンとか取得して、
自分のメソッドを connect していくのが C++ っぽい書き方な気がする。
2009/09/02(水) 13:02:19ID:Wp36mia7
>>227
コンパイルしてみたけどエラーで落ちてしまったよ
m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
コンパイルしてみたけどエラーで落ちてしまったよ
m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
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 ) );
複雑になってくると小汚くなりそうだなー
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 ) );
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();
};
{
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();
};
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 がないと駄目だよ。
それで落ちてるんじゃない?
> 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 がないと駄目だよ。
それで落ちてるんじゃない?
2009/09/03(木) 02:38:43ID:6mgKfH1n
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
2009/09/03(木) 02:47:30ID:6mgKfH1n
2009/09/03(木) 12:32:06ID:jVnTHMiE
2009/09/06(日) 14:05:15ID:aXigLrxm
Gtk::SpinButtonを浮動小数点表示にする事は出きますでようか?
2009/09/14(月) 13:21:24ID:kBmevVmP
cairommでバックバッファを使った描画はどうすれば良いのでしょうか?
save(),restore()は少し違うような気がして・・・
save(),restore()は少し違うような気がして・・・
2009/09/15(火) 17:55:42ID:1BtVuQj7
GTK+onDirectFBをインストールしようと思ってDirectFBのサイトに行こうとしたら
なぜか繋がらないんだけど誰か教えr・・・教えてください。
なぜか繋がらないんだけど誰か教えr・・・教えてください。
244login:Penguin
2009/09/15(火) 17:56:26ID:1BtVuQj7 sageちまった
245login:Penguin
2009/09/15(火) 17:59:06ID:1BtVuQj7 ttp://www.directfb.org/
URLも貼っておきます。
繋がらない、マジで誰か教えてください
URLも貼っておきます。
繋がらない、マジで誰か教えてください
2009/09/21(月) 16:41:13ID:X29eYjZv
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。
2009/09/24(木) 10:56:15ID:hMFgf6/j
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。
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
どうもそのようですね。でも、もっと簡単にできないもんか……。
http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gdk%3A%3APixbuf
どうもそのようですね。でも、もっと簡単にできないもんか……。
レスを投稿する
ニュース
- 「ダウンタウン」芸能活動復帰へ 今夏“新機軸”独自配信サービス開設目指す 吉本興業認める [おっさん友の会★]
- 永野芽郁の不倫報道火消しへ 永野の自宅マンションには「母親がいた」 永野、田中、キムの所属事務所発表★3 [ネギうどん★]
- 【NHK】10月からのネット受信規約素案を発表。「解約は受信機廃止の場合と同様に規定」 [香味焙煎★]
- 不倫疑惑の永野芽郁、母親が自宅にいる話を“文春砲”の2日前にラジオで連発 [ネギうどん★]
- 立憲が参院選公約に「食料品の消費税ゼロ」 時限措置として野田代表ら執行部が方針決定 [少考さん★]
- 中居正広、水面下で反撃の準備か 第三者委員会の報告書での“性暴力者”認定に強い抵抗感、自らの口で真相を明らかにする考えも ★3 [Ailuropoda melanoleuca★]
- 【画像】万博、こち亀の予想通りになる [834922174]
- 【悲報】三井住友海上さん、そこかしこに「大阪万博」のチケットをばら撒いてしまう🥺 [616817505]
- 「さくさくぱんだ」 値上げ🐼 [485983549]
- アンチ武田鉄矢職人のお🏡
- ニューヨーク・タイムズが大阪万博を辛辣に分析「過去の栄光を取り戻すイベントだが70年代とは違う」 [633746646]
- 【速報】吉本興業、ダウンタウン復帰を正式に発表 [333919576]