[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 03/26 18:02 / Filesize : 209 KB / Number-of Response : 765
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

GTK+プログラミング



1 名前:login:Penguin [2007/09/05(水) 13:58:46 ID:2SORZMjm]
GUIツールキットであるGTK+とその周辺技術についてのスレッド

-前スレ-
pc11.2ch.net/test/read.cgi/linux/995808691/

-関連サイト-

本家
www.gtk.org/
APIレファレンス
library.gnome.org/devel/gtk/stable/
gtkmm(C++ラッパー)
www.gtkmm.org/
glade
glade.gnome.org/
libglade
www.jamesh.id.au/software/libglade/

699 名前:login:Penguin mailto:sage [2011/10/03(月) 10:45:19.78 ID:DltdAdh6]
すいません、元のリストをアップしてしまいました
正しくはこちらです(ファイル名をimage2.cに変えました)
www1.axfc.net/uploader/Sc/so/280375.c

700 名前:login:Penguin mailto:sage [2011/10/04(火) 05:43:43.88 ID:OMJjY+ZZ]
>>700
ちょちょと換えてみたから見てみて
www1.axfc.net/uploader/Sc/so/280675.c
devhelpってヘルプビューア入れて GtkButtonの説明読むのおすすめ
「The "clicked" signal」 てとこにclickedシグナルハンドラのシグネチャが書いてあるよ
>>699が元々書いてたハンドラとシグネチャが一致してなかったみたい

それと初回クリック時の画像ファイルインデックスは0番じゃなくて1番にしといた

701 名前:login:Penguin mailto:sage [2011/10/04(火) 05:45:48.43 ID:OMJjY+ZZ]
指示レス番まちがえたけど  訂正しねーよ!(我が家杉山)

702 名前:login:Penguin mailto:sage [2011/10/04(火) 12:32:09.76 ID:VseFFwAj]
>>700
動きました、どうもすいません

703 名前:login:Penguin mailto:sage [2011/10/04(火) 22:44:16.96 ID:OMJjY+ZZ]
謝る必要はこれっぽっちもないけど
「動けばいい」とかいう低い志は捨てようや

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

705 名前:login:Penguin mailto:sage [2011/10/17(月) 03:57:34.59 ID:jBv5AccH]
>>704
> if elseで分岐させてみたのですが上手くいきません。(最初に通過した設定がそのまま残って変更出来ない)

コード見ていないので確かなことは言えませんが、
g_signal_handler_disconnect()とg_signal_connect()を使えばきっと出来ますよ(やってみたら出来た)
code snippestでも貼ってくれたらアドバイスもできたかと思いますが情報が不足していましたので
「ボタンを押されたら、シグナルコネクト先を変更する」というサンプルを書いてみました。ので参照みて下さい

www1.axfc.net/uploader/Sc/so/284339.c

main関数内とハンドラ内で共用する変数についての渡し方は
・g_object_set_data()を利用して渡す方法
・g_signal_connect()の最後の引数にGHashTableを指定して渡す方法
・大域変数として宣言しておく方法(この程度の場合は悪手かな?)
の3通り思いつきましたが1番目の案で記述しました。書き方はいろいろあります

706 名前:login:Penguin mailto:sage [2011/10/17(月) 17:36:59.12 ID:OFrElfAX]
>>705
ご親切にありがとうございます
解読してみます

707 名前:login:Penguin mailto:sage [2011/12/26(月) 12:41:35.30 ID:Jg1bu6au]
GTKとcarioとpangoの関係を教えて下さい



708 名前:login:Penguin mailto:sage [2011/12/27(火) 02:22:40.60 ID:4qSP4mDf]
なんと、全部文字数が奇数です。

709 名前:login:Penguin mailto:sage [2012/02/12(日) 21:52:16.17 ID:vrKTadjR]
toro.2ch.net/test/read.cgi/tech/1329023778/

710 名前:login:Penguin mailto:sage [2012/03/13(火) 01:46:49.13 ID:3Ugm7oRN]
ウィキ作った
monobook.org

711 名前:login:Penguin mailto:sage [2012/03/13(火) 23:30:30.92 ID:XEqUJYrf]
ぼくもつくろっと。

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

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


714 名前:login:Penguin mailto:sage [2012/03/25(日) 09:54:04.27 ID:1P7W2wf1]
>>713
>どれだけ高速化されたかが気になる

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

715 名前:login:Penguin mailto:sage [2012/03/25(日) 18:58:57.29 ID:3RGnGf+l]
何をしようとしてるかが関係あるの?

716 名前:login:Penguin mailto:sage [2012/03/25(日) 21:27:14.92 ID:rI7Awxch]
正直に白状するが、
glageのuser dataの使い方がわからないまま
実務で開発しちゃったりしてます。

717 名前:login:Penguin mailto:sage [2012/03/25(日) 21:35:56.39 ID:FgoOLGO6]
あと、ラジオボタンとか、配列可して、コールバック関数を一つに
まとめる方法もわからないまま
一個一個書いてます。
とほほ




718 名前:login:Penguin mailto:sage [2012/03/28(水) 08:35:06.02 ID:ThQeaUjt]
EmacsとかVisual Studioみたいなマルチストロークのキーバインドって
GTK+でできますか?

719 名前:login:Penguin mailto:sage [2012/03/28(水) 11:02:58.95 ID:he0UMBAC]
GTK+はEmacsで使われています

720 名前:login:Penguin mailto:sage [2012/03/28(水) 20:02:18.92 ID:ThQeaUjt]
GTK+はEmacsではキーイベントの処理に使われていません

721 名前:login:Penguin mailto:sage [2012/03/28(水) 20:41:18.94 ID:R04800Nw]
( ゚Д ゚)

722 名前:login:Penguin mailto:sage [2012/03/29(木) 22:20:44.47 ID:GJB1hQRo]
cairoが高速化ってことはeclipseも早くなるのかね

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

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

725 名前:723 mailto:sage [2012/04/03(火) 21:46:17.80 ID:gvKF9Ts9]
よく確認してみたところエラーになるのはgtk_signal_connectのほうで
GTK3.0で使われなくなっていて代わりにg_signal_connectを使えと書いてありました
developer.gnome.org/gtk/stable/gtk-Signals.html#gtk-signal-connect

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


727 名前:login:Penguin mailto:sage [2012/04/15(日) 08:43:51.29 ID:khsJyTTq]
ガチで使えないキット(GTK)



728 名前:login:Penguin mailto:sage [2012/04/22(日) 21:22:17.78 ID:ZPy8N610]
UGS
Never use gets().


729 名前:login:Penguin mailto:sage [2012/05/03(木) 19:08:20.54 ID:2lAo9jqg]
フォントサイズって10.5ptとか小数点で設定できる?


730 名前:login:Penguin mailto:sage [2012/05/04(金) 06:17:57.12 ID:phIzEGLj]
フォントサイズの指定方法がわかってて
小数点の指定ができるかって疑問なら
やってみて自分で確認すりゃいいのに。

731 名前:login:Penguin mailto:sage [2012/05/04(金) 11:44:12.10 ID:LzE47Zaa]
型がguintみたいだが

732 名前:login:Penguin mailto:sage [2012/05/04(金) 14:24:41.51 ID:86E5ktal]
それがどうした

733 名前:login:Penguin mailto:sage [2012/05/09(水) 14:47:56.27 ID:M8lWcVDx]
Gtk.TreeView.Selection.Mode = Gtk.SelectionMode.Multiple;
に変更すると得られるGtk.TreeIterがおかしくなってしまう
のですが、Multipleの時はSelection.GetSelectedは使えない
のでしょうか?

734 名前:login:Penguin mailto:sage [2012/05/15(火) 22:46:57.21 ID:PyXbSQll]
Gtk.Label page_label = new Gtk.Label (title);
page_label.KeyReleaseEvent += delegate {
Console.WriteLine("!"); //←呼び出されない理由を説明してほしい!
};

735 名前:login:Penguin mailto:sage [2012/05/16(水) 07:38:42.69 ID:1Jlqt6RC]
gtk_widget_set_events()

736 名前:login:Penguin mailto:sage [2012/05/16(水) 21:45:01.79 ID:oMuQxzgz]
GTKは親切ではないなーと楽をしてきただけに思いますw

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

737 名前:login:Penguin [2012/05/23(水) 21:46:04.65 ID:jdgnkMvj]
GTKのGUIは更新をサボる癖があるようですが
無理やり更新させる方法はないでしょうか?



738 名前:login:Penguin mailto:sage [2012/05/23(水) 21:50:35.79 ID:jdgnkMvj]
更新するWidgetを間違えてた!
解決

739 名前:login:Penguin [2012/06/08(金) 19:02:58.11 ID:BmPo410Y]
Gtk-CRITICAL **: IA__gtk_main_quit: assertion `main_loops != NULL' failed

メインループ内でGtk.Application.Quit ();を呼ぶなって事だろうけど
終了させる方法はないのでしょうか?

740 名前:login:Penguin mailto:sage [2012/06/08(金) 20:38:02.95 ID:6+ZFg73U]
>>739

電源を切れば終了。

741 名前:login:Penguin mailto:sage [2012/06/09(土) 03:50:44.00 ID:xIQyunsc]
gtk_main_quit()のソースコードを読めば解決。

742 名前:login:Penguin mailto:sage [2012/06/10(日) 07:41:42.40 ID:NypXeHdm]
>>739
launcher みたいの作ろうとしてるんだろうか…
いまいちどういうことなのか判らないんだけど

logメッセージを抑制したいなら glib 2.32から

www.mail-archive.com/geany-devel@uvena.de/msg06039.html
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 mailto:sage [2012/07/04(水) 15:28:28.70 ID:RZglH82u]
from gi.repository import Gtk

744 名前:login:Penguin mailto:sage [2012/08/07(火) 21:52:39.08 ID:4kcOLz8m]
このスレ的にはGTKのものをそのまま叩くっていうのは危険なこと?

745 名前:login:Penguin mailto:sage [2012/08/08(水) 21:32:46.85 ID:heEHx4e5]
意味わからん。

746 名前:login:Penguin mailto:sage [2012/08/09(木) 02:30:11.31 ID:IoAeP/Ow]
バッシングだな

747 名前:login:Penguin mailto:sage [2012/08/09(木) 09:21:30.12 ID:n/9/m8Sd]
え?ラッパーライブラリを介さず直接コールするって意味じゃないの?



748 名前:login:Penguin mailto:sage [2012/08/09(木) 22:47:55.45 ID:Q1A6/Eca]
>>747
そのとおりです

749 名前:login:Penguin mailto:sage [2012/08/09(木) 22:57:00.84 ID:P67COA3s]
Exactly

750 名前:login:Penguin mailto:sage [2012/09/11(火) 19:25:22.84 ID:AmLZmZH+]
取り敢えずgtk_main_quit()

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

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

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

752 名前:login:Penguin mailto:sage [2012/11/27(火) 23:24:04.63 ID:p3EAvFxY]
>>751
pyは使えないのですが、この話はGTKのスレの質問でしょうかね?
Cだったらstatとchmod使うところじゃないかと。

753 名前:login:Penguin mailto:sage [2012/11/27(火) 23:44:47.91 ID:2Faa51y/]
>>751
もしかして:gksu

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

754 名前:login:Penguin mailto:sage [2012/11/28(水) 00:24:58.73 ID:JU9FPiAT]
口下手な>>753は、gksuを参考にlibgksuを使えと言いたいんだな?
libgksuのpythonバインディングもあるから安心だって言いたいんだよな?

755 名前:login:Penguin [2012/11/28(水) 16:35:00.90 ID:a6DQ5WYq]
polkit

756 名前:login:Penguin mailto:sage [2012/12/02(日) 14:08:52.19 ID:jmMYkF+D]
>>754
ナイス翻訳

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



758 名前:login:Penguin [2013/03/07(木) 14:11:29.83 ID:QnTnog/x]
こう書く方法ないかな?
public class Window :Gtk.Window{
}

759 名前:login:Penguin mailto:sage [2013/03/07(木) 16:21:44.64 ID:19LddT7Q]
>>758
valaをつかえばいいと思うよ

760 名前:login:Penguin mailto:sage [2013/03/08(金) 18:55:04.44 ID:Eqvj3fL9]
vala優秀そうだね
でもwindowsでも使いまわしたいのでmonoから外れたくない

761 名前:login:Penguin mailto:sage [2013/03/13(水) 09:34:23.06 ID:EMo1WQCk]
>>760
valaはwindowsでも普通に使える。

762 名前:login:Penguin mailto:sage [2013/03/23(土) 10:23:11.54 ID:PyYsgXcc]
Gtk::Dialogはon_delete_eventを呼ばないのですか?
処理が途中の場合とかにダイアログを閉じるのを中止したいのですが、何処で中止させたらいいのやら

763 名前:login:Penguin mailto:sage [2013/03/23(土) 16:14:11.15 ID:oI1eFSYR]
ちょっとチャレンジしてみることにしました
FreeBasic導入したら、GTK+とCairoが入っていたので。
ネットとサンプルを参考にしながら、
ちょこちょこと弄ってみます。

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

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<209KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef