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


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

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/

224 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 11:08:36 ID:IHJ1WvuS]
>>223
Debianのlennyを使っているのでAnjuta 2.4.2、Glade 3.4.5です・・・
GtkBuilderのサンプル探しの旅に出たいと思います。有り難うございます

225 名前:login:Penguin mailto:sage [2009/08/31(月) 02:59:20 ID:WV5KE7UC]
glade も GtkBUilder もほとんど同じだから、リファレンスを見ながらで
書けると思うけど。


226 名前:login:Penguin mailto:sage [2009/08/31(月) 14:47:43 ID:4XJ92u20]
GtkBUilderを使ったGtk::Drawingariaのサンプルを作ろうとしたんだけど
途端に分からず・・・
イベントとかどうやってつなげたらいいのだろう
イベント処理で書かないと無理だよね?

227 名前:login:Penguin mailto:sage [2009/09/01(火) 01:49:35 ID: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);
}


228 名前:login:Penguin mailto:sage [2009/09/01(火) 01:51:56 ID: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;
};


229 名前:login:Penguin mailto:sage [2009/09/01(火) 01:58:01 ID: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();
}


230 名前:login:Penguin mailto:sage [2009/09/01(火) 02:02:59 ID:o0MV2wSR]
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。


231 名前:login:Penguin mailto:sage [2009/09/01(火) 20:43:11 ID:LcijR9gh]
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ

232 名前:login:Penguin mailto:sage [2009/09/01(火) 20:45:43 ID:azH81sw2]
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ



233 名前:login:Penguin mailto:sage [2009/09/02(水) 01:45:20 ID:XY5vbVWT]
ちなみに AppWindow みたいに Gtk::Widget を継承している場合は、単に

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

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

ただ、これもトップレベルのウィンドウのイベントしか反応できないから、
>>229 のコンストラクタみたく cast_static なんかでボタンとか取得して、
自分のメソッドを connect していくのが C++ っぽい書き方な気がする。


234 名前:login:Penguin mailto:sage [2009/09/02(水) 13:02:19 ID:Wp36mia7]
>>227
コンパイルしてみたけどエラーで落ちてしまったよ

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?

235 名前:login:Penguin mailto:sage [2009/09/02(水) 18:54:23 ID: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 ) );

236 名前:login:Penguin mailto:sage [2009/09/02(水) 19:25:12 ID: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();
};


237 名前:login:Penguin mailto:sage [2009/09/03(木) 02:34:12 ID: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 がないと駄目だよ。
それで落ちてるんじゃない?

238 名前:login:Penguin mailto:sage [2009/09/03(木) 02:38:43 ID:6mgKfH1n]
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。

239 名前:login:Penguin mailto:sage [2009/09/03(木) 02:47:30 ID:6mgKfH1n]
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。


240 名前:login:Penguin mailto:sage [2009/09/03(木) 12:32:06 ID:jVnTHMiE]
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

GtkBuilderを使わない方も少しいじってみるよ

241 名前:login:Penguin mailto:sage [2009/09/06(日) 14:05:15 ID:aXigLrxm]
Gtk::SpinButtonを浮動小数点表示にする事は出きますでようか?

242 名前:login:Penguin mailto:sage [2009/09/14(月) 13:21:24 ID:kBmevVmP]
cairommでバックバッファを使った描画はどうすれば良いのでしょうか?
save(),restore()は少し違うような気がして・・・



243 名前:login:Penguin mailto:sage [2009/09/15(火) 17:55:42 ID:1BtVuQj7]
GTK+onDirectFBをインストールしようと思ってDirectFBのサイトに行こうとしたら
なぜか繋がらないんだけど誰か教えr・・・教えてください。

244 名前:login:Penguin [2009/09/15(火) 17:56:26 ID:1BtVuQj7]
sageちまった

245 名前:login:Penguin [2009/09/15(火) 17:59:06 ID:1BtVuQj7]
ttp://www.directfb.org/

URLも貼っておきます。
繋がらない、マジで誰か教えてください

246 名前:login:Penguin mailto:sage [2009/09/21(月) 16:41:13 ID:X29eYjZv]
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。

247 名前:login:Penguin mailto:sage [2009/09/24(木) 10:56:15 ID:hMFgf6/j]
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。

248 名前:login:Penguin mailto:sage [2009/09/24(木) 11:11:57 ID:hMFgf6/j]
www.daa.com.au/pipermail/pygtk/2009-June/017120.html
ruby-gnome2.sourceforge.jp/hiki.cgi?Gdk%3A%3APixbuf

どうもそのようですね。でも、もっと簡単にできないもんか……。

249 名前:login:Penguin mailto:sage [2009/09/25(金) 18:17:32 ID:WaiZYKyV]
>>243-245
DirectFBのソースをDLしようとオフィシャルサイトを開こうとしたけど、まだサーバが落ちたままだね・・・
9/14頃から落ちてるっぽいからメンテナンスにしては長過ぎだよね。
もしかしてDirectFB終了フラグON?

250 名前:login:Penguin mailto:sage [2009/09/27(日) 00:08:06 ID:ng4uKqzS]
>>249
今はつながってる。digしたら212.227.87.76だった。

251 名前:login:Penguin [2009/09/28(月) 02:12:56 ID:5e1BLaTK]
GTK+2.18記念あげ

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

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

WindowsやMacOSXでの動作が改善されたらいいなと。

252 名前:login:Penguin mailto:sage [2009/10/04(日) 14:16:19 ID:P8VQfdNh]
gtkmmで複数のウィンドウを開くプログラムは作れますか?
イメージ的にはGIMPの様なコントロールが有って描画画面が有る感じ
gtk+を使えば出来るのかな?



253 名前:252 mailto:sage [2009/10/05(月) 12:16:45 ID:yVAGOb64]
やり方が分かったの報告(するまでもないのかな・・・)
Gtk::Windowを継承したクラスをインシタンス化して

hogehoge.show()

で表示されました。(バカみたいな話でお恥ずかしい)


254 名前:login:Penguin mailto:sage [2009/10/07(水) 17:30:55 ID:PMxweG2O]
インシタンス><

255 名前:login:Penguin [2009/10/11(日) 18:03:35 ID:Sidlsc4E]
Failure to compile 64 bit gtk on mac os
buffalothedestroyer.blogspot.com/2009/07/blog-post.html
>Attempted to install gtk+-2.17.2 on my mac. Had to install:

www.nabble.com/Gtk-issues-td23803508.html

mac 環境だと gtk は使えないんだろうか…?

256 名前:login:Penguin mailto:sage [2009/10/12(月) 14:47:14 ID:sqmRrC1g]
ググってみたけど使えるっぽいよ

257 名前:login:Penguin mailto:sage [2009/10/13(火) 21:28:52 ID:l2EymYVQ]
>>255
Leopard だけど、MacPortsからインスコできたよ。
Ruby/GtkとPyGtk用にと。

258 名前:login:Penguin mailto:sage [2009/10/14(水) 03:07:04 ID:VVFhTsV6]
www.amazon.co.jp/入門GTK-菅谷保之/dp/4274067769

webの情報をまとめた程度らしいけど
gtkmmも扱って欲しかったかな

259 名前:login:Penguin mailto:sage [2009/10/14(水) 03:31:23 ID:cB0J9abS]
Gtk+2 で初の和書じゃないの。出るだけで価値がある

260 名前:login:Penguin mailto:sage [2009/10/14(水) 03:43:48 ID:Evvplg3O]
まぁお布施のつもりで買っておくか

261 名前:login:Penguin mailto:sage [2009/10/14(水) 12:08:22 ID:oK0tjYE+]
Gtk::SpinButtonの値が変更された時に発生するイベントを一時的に停止することは出来ますか?
複数のGtk::SpinButtonが変更されるのが分かっている場合に一時的に停止して
手動でアップデートしたいのです。

262 名前:login:Penguin mailto:sage [2009/10/14(水) 22:05:50 ID:8MVmnU1X]
>>258
gtk2hsも扱って欲かったwww
買うけどなwwww



263 名前:login:Penguin mailto:sage [2009/10/14(水) 23:22:20 ID:QhaIdhW6]
QtよりGTK+がイイみたいだぬ、GTK+に決めるぬ

264 名前:login:Penguin mailto:sage [2009/10/15(木) 00:17:55 ID:K/xBs5bI]
Qtもいいぬ。触ってみてぬ(´・ω・`)

265 名前:login:Penguin mailto:sage [2009/10/15(木) 03:29:50 ID:eDklkq43]
>>258
そもそも洋書でもgtkmmはないだろ。そんな中で日本語の本なんて奇跡が
起こらない限り無理だろ。


266 名前:login:Penguin mailto:sage [2009/10/15(木) 13:37:26 ID:pxmDyP/M]
>>258
独創的なな表紙だな

267 名前:login:Penguin [2009/10/15(木) 23:20:38 ID:eyJUfiVx]
   【恐怖の】呆れるほど危険な民主党の正体【民主党】
    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 名前:login:Penguin mailto:sage [2009/10/16(金) 23:10:15 ID:qPhMCs8o]
>>258
「入門GTK+」
今日、買ってきたよ。

最近は、Web上のホームページのプログラミング解説の方が分かり
易いとうことが多くなってきているようだけど、
「入門GTK+」を
サックっと、50ページくらい読んでみたところ
この本は、意外に読みやすいし、わかり易い。
他のプログラミングの習得に挫折した人でも何とかいけそうな感じかな。

269 名前:login:Penguin mailto:sage [2009/10/16(金) 23:12:12 ID:q3/VuRbk]
QtだとQt CreatorとゆうIDEが使いやすいけど、
GTK+使う時はどんなIDE使うと便利ですか。

270 名前:login:Penguin mailto:sage [2009/10/16(金) 23:26:21 ID:qPhMCs8o]
>>269

「入門GTK+」では、Anjuta(アニュータ)が紹介され解説されているね。

271 名前:login:Penguin mailto:sage [2009/10/16(金) 23:34:15 ID:qPhMCs8o]
そうそう、時間があったので
qt4の解説書も立ち読みしてきたんだけど、今日買った「入門GTK+」
の方がわかり易かった。

誰か、「猿でもわかるqt4」って本、書いてくれないかな〜

272 名前:login:Penguin mailto:sage [2009/10/16(金) 23:37:35 ID:q3/VuRbk]
GTK+は使ったときないけど、QtもQt Creatorもすごく使いやすいぬ(´・ω・`)
GTK+簡単なら使ってみようかしら。



273 名前:login:Penguin mailto:sage [2009/10/17(土) 14:15:16 ID:XYXybyM0]
>>268
読みやすいのか、ボーナス出たら買おうかな。

>>272
C++使えるならQtだけでいいんでない?
おれはCしか知らないからGTK…

274 名前:login:Penguin mailto:sage [2009/10/17(土) 15:22:41 ID:nWRW4zS0]
そいつム板のwxスレを荒らしてるキチガイだから放置推奨

275 名前:login:Penguin mailto:sage [2009/10/18(日) 03:51:09 ID:+Fs337jm]
Gtk+の場合はGladeってのがある。もちろん簡単。

276 名前:login:Penguin mailto:sage [2009/10/18(日) 09:53:27 ID:juku8Oo/]
gladeはもうobsoleteだけどね。今はGtkBuilderを使う

277 名前:login:Penguin mailto:sage [2009/10/18(日) 09:59:19 ID:oZOJkxHq]
glade自体はまだまだ現役だよ。
ただlibgladeはもうobsoloteだけどね。

278 名前:login:Penguin mailto:sage [2009/10/18(日) 21:34:36 ID:mlVaod2q]
>>271
ok
究極の友愛本と帯に書いておくよ


279 名前:login:Penguin mailto:sage [2009/10/21(水) 08:09:56 ID:2ccCLXEP]
あと半年たらずでGTK+3が出るこの時期に出さんでもという気もするが。

280 名前:login:Penguin mailto:sage [2009/10/21(水) 12:58:05 ID:tvBs0TF8]
>>279
HPに公開していたGTK+の第2版までのドキュメントを著書にしたいという願いと、
出版社側での「最近GTK+の本が出ていないので出したい」と言う思わくが一致して
GTK+-2の解説であっても出したんでないの。

281 名前:login:Penguin mailto:sage [2009/10/21(水) 21:25:41 ID:6UoL2jU0]
GTK+3ってそんなに変わるの?

282 名前:login:Penguin mailto:sage [2009/10/21(水) 22:08:56 ID:dJLlBo7l]
>>281
うん



283 名前:login:Penguin mailto:sage [2009/10/22(木) 05:25:32 ID:sG60T9Up]
3Dデスクトップをデフォルトにする方向性はやめてほしい。
Vista も KDE4 も総スカンだろ?
CPUのクロックが頭打ちなんだから、プログラマは節制しないと。

284 名前:login:Penguin mailto:sage [2009/10/22(木) 06:02:24 ID:IEkHgIHU]
CPUのクロックが頭打ちだからこその3D描画だろ
GPUにやらせたほうが描画は速い ※適切な3Dドライバがある場合に限る

285 名前:login:Penguin mailto:sage [2009/10/22(木) 07:05:43 ID:+CGcKXd7]
オイラは、普段非力なマシンばかり扱っているから3Dをすると重くてかなわん!
GTK+3が出ても当分は、GTK+2を使うよ。

「入門GTK+」を参考にすれば、jpgやgifのイメージビュ-ワが簡単に作れるし
動作も軽いからね。

286 名前:login:Penguin mailto:sage [2009/10/22(木) 09:00:06 ID:hz6htkDb]
描画は速いかもしれないがメモリ食うんだ

287 名前:login:Penguin mailto:sage [2009/10/22(木) 18:11:31 ID:oTwQaR0U]
GTK+3は使用メモリ量が減って重くなるの?

288 名前:285 mailto:sage [2009/10/22(木) 19:41:05 ID:2c91WZnW]
因みに我が家での、
「入門GTK+」を参考に作ったイメージビュ-ワで
画像 1024x768_16bit_color.jpg(65536色)表示時のメモリ使用量は、

イメージビュ-ワ本体だけの立ち上げ時: 1.25MB
画像1024x768_16bit_color.jpg表示時: 1.25+2.62=3.87MB
だった。

289 名前:login:Penguin mailto:sage [2009/10/22(木) 22:10:41 ID:1jy7wL1R]
Windows だと何十メガとメモリ食うよね。
まあしょうがないんだろうけど。

290 名前:login:Penguin mailto:sage [2009/10/22(木) 22:42:41 ID:GKZrjVVp]
GTK+3はスルーしてGTK+4まで待つお(´・ω・`)

291 名前:login:Penguin mailto:sage [2009/10/23(金) 02:29:05 ID:icsRYQ9+]
Gtk+3は現状で限りなく3に近づいているから、そんなに変わらない。


292 名前:KyPAWlrSIokuKhBa mailto:i1o2h9k.@gmail.com [2009/10/23(金) 22:50:30 ID:gHGN7SxH]
The psychology literature certainly has a lot to say about the topic, but economists have a rather simplistic view of the issue. ,



293 名前:login:Penguin mailto:sage [2009/10/24(土) 00:38:30 ID:9RfZkvGi]
>実のところ,私はKDE-1.0を見て(日本語は通らなかったものの)デスクトップ分野での UNIXの未来を確信し,
>GNOME-1.0を見て目の前が真っ暗になった人なのですが(笑)
>当時はQtが改変不可だったために,GTK/GNOMEを選択せざるを得なかった.

とあるサイトの人のことばなんですが、詳しいことがさっぱりなので、どういう文脈なのかわかりません
誰か解説していただけたら幸いです。もしこれが荒れるような内容でしたらスルーを…

294 名前:login:Penguin mailto:sage [2009/10/24(土) 01:27:11 ID:BKx301Ml]
趣旨は脚注でない本文のほうにあると思うが、
GObjectも定着して成長したし、いまは中の人の評価も少しは違うかも。
まぁGtk+はダサい技術だと思う。でもダサいほうが品質高かったりするわけだが

295 名前:login:Penguin mailto:sage [2009/10/24(土) 01:54:57 ID:Qc2ltt6a]
クラス構造体の中に変数詰めてるとか(VTableとしても使えたなら…)、
G_SIGNAL_ACTIONフラグはただの目印にしかしてない所や、
せっかくGObjectというランタイムタイプシステムこさえてるのに
一部C言語バインディングからしか使えない機能とかあるっぽいところとかGTK+はだせぇなあと思う。
でもGObjectは面白かった。QtのmocやSiGnal/SLOTはいまいちそそられない。

296 名前:login:Penguin mailto:sage [2009/10/24(土) 04:12:11 ID:wG3ZsfW/]
今はValaが熱いよ。GObjectが好きな人なら尚更ハマること請け合い。

>>293
まぁ見ての通りだと思うけど、KDE1.0は衝撃的だったな。KDEが出るまでは
Linux(BSD)は一部のマニアのおもちゃでしかなかったのが一般にも普及しそう
な期待があった。
結局サーバー分野はある程度普及したけど、デスクトップ分野は今も昔も
変わってないけどね。
で、Gnome1.0あんまり記憶がないんだけど見た目はMotifに似ていてダサくて
動作が不安定だった記憶がある。


297 名前:login:Penguin mailto:sage [2009/10/24(土) 12:25:04 ID:9hbzJrW8]
シグナルとかが補完されるエディタってないかな?

298 名前:login:Penguin mailto:sage [2009/10/24(土) 13:28:04 ID:KFtS7ScQ]
>>297
gedit + gtksourcecompletion で、、、
gtksourcecomple.sourceforge.net/
valaでしか試してないけど、一応動く。

299 名前:login:Penguin mailto:sage [2009/10/24(土) 19:23:04 ID:wyOmgHI3]
Gnome 1というとSolarisのイメージがあるなあ
大学の標準装備だった。俺は速攻twmにしたが。

300 名前:login:Penguin [2009/10/29(木) 23:20:42 ID:6yKiv2hH]
これからGTK+を学ぼうと思っています。
主にLinuxで開発するつもりで、AnjutaというIDEを使ってみようと思いますが、
Windowsマシンでたまにコーディングしたいときにはどうしたらいいんでしょ?
Windows版ってありますか?
Linux板で聞くのは変ですが…。

301 名前:login:Penguin mailto:sage [2009/10/30(金) 21:38:43 ID:7aJTkb9U]
>>300
ム板にもスレがあることに気づいて
そこの過去情報を読んだら解決しました。
お邪魔しました。

302 名前:login:Penguin [2009/11/01(日) 17:23:59 ID:qpVzDXQL]
GUIツールキットを比較しつつ、どれがいいか検討しています。
今の第一候補はGTK+ですが、実際に使っている人の声を聞きたいです。
他の候補はQt、wxWidgetsで、言語はC++の予定です。

GTK+
 ・GnomeやXfceで使われているので、ユーザが多そう
 ・ライセンスはLGPL
 ・多くの言語向けのバインディングがあるが、CではなくC++だと少し注意が必要(?)
 ・各OSのネイティブなルック&フィールではないが、テーマによっては近い外観で描画できる

Qt
 ・KDEで使われている
 ・Nokiaがやっていて安心感がある
 ・LGPL、GPL、商用版のQPLは制限が非常に緩い
 ・おしゃれな外観(?)

wxWidgets
 ・GUIの他に多くの機能のラッパが存在して便利
 ・ネイティブなルック&フィール
 ・IDE、RADツールが豊富
 ・日本語の扱いにやや難あり(?)

Ultimate++というのも気になりますが、マイナーだし、日本語が使えない問題もあるようです。

これらは自分で集めた情報なので間違ってるかもしれません。
他にメリットやデメリットがあればどうぞ教えてください。
よろしくお願いします!



303 名前:login:Penguin mailto:sage [2009/11/01(日) 21:17:41 ID:lntj8SS+]
C++ならQt

304 名前:login:Penguin mailto:sage [2009/11/01(日) 22:13:27 ID:qpVzDXQL]
>>303
やっぱりGTK+はC++に向いてないということですね。
情報ありがとうございました。

他にも情報があれば皆さんよろしくお願いします。

305 名前:login:Penguin mailto:sage [2009/11/01(日) 22:14:04 ID:TdugBe1j]
つGLUT


306 名前:login:Penguin mailto:sage [2009/11/01(日) 23:32:48 ID:o2Fus8Wv]
>>304
gtkmmいいよ。

307 名前:login:Penguin mailto:sage [2009/11/02(月) 00:05:28 ID:F2TUeYlu]
>>305
GLUTを調べて見ましたが、OpenGLのやつなんですね。
3Dにはあまり興味が無いですが、今後必要になったとき使ってみます。
情報ありがとうございました。

>>306
GTK+はC++との親和性が少し低いけど、gtkmmはC++用で問題ないということですね。
試してみます。
ありがとうございました!

308 名前:login:Penguin mailto:sage [2009/11/03(火) 01:21:46 ID:Vebc7itB]
rubyでgtkプログラムをしたいんですけど、何かいい開発環境はないですか?
gladeとかでみためは作って変換できるのですが、中で実行するシグナル(っていうんですかね)がどういう感じで使えるかというのがわからないので
調べ調べになってしまいます。通常使ってるのはemacsとnetbeansです。これに似た、もしくはその上で動かせるものはありませんか?
補完とかできたらうれしいのですが。

309 名前:login:Penguin mailto:sage [2009/11/03(火) 19:55:27 ID:0PVkcWZ9]
逆に「gladeとかでみためは作って変換できる」の部分を
詳しく教えてほしい。

310 名前:login:Penguin mailto:sage [2009/11/03(火) 20:05:58 ID:DNzdCjrE]
gtk-builder-convertのことかな?

311 名前:login:Penguin mailto:sage [2009/11/03(火) 22:30:31 ID:1H0HUjWH]
ruby-glade-create-template とかあったよな.

312 名前:login:Penguin mailto:sage [2009/11/04(水) 08:03:24 ID:03fE0NL7]
クラスライブラリのリファレンス(英語)なら公式サイトでrbbrっていうサンプルアプリとして
置いてあるけど、そういうことじゃないのかな?



313 名前:308 mailto:sage [2009/11/05(木) 02:27:28 ID:Cf0Et12U]
>>309-311
311さんが言ってるみたいにruby-glade-create-templateで作ったgladeファイルを.rbに変換して
オブジェクトは作ったからメソッド書いて自分の思うような動きを作ってちょうだいな。みたいなところまではできます。
しかし、rbファイルを編集するときにrequire 'gtk2'をよんでいるのにemacsでもnetbeansでも補完してくれませんでした。

>>312
rbbrは使ってるOSにパッケージがあったのでそれを入れてみましたが。リファレンスを引けるようになりました!
リファレンスが引けると言うことは補完もできるのでは?と今悩んでいる状態です。

314 名前:309 mailto:sage [2009/11/06(金) 12:34:31 ID:pFNFtZEf]
>>310
>>311
>>313
サンクスです。ググったら
Ruby/Gtk2のチュートリアルに書いてあるね
規制でタイミング逸して返事書かなくてすまん

315 名前:308 mailto:sage [2009/11/06(金) 17:32:52 ID:1VLamOE6]
>>309さんはどんな感じでコードかいてますか?
リファレンス見ながらかいている感じですか?

316 名前:login:Penguin mailto:sage [2009/11/07(土) 07:20:09 ID:PbDi/n2M]
>>302
亀レスながら俺も検討中なので...
GTK+はこれからやってみるので置いといて、

Qtはさすがに良くできてるけど、簡単なことをやろうとしても多くのクラスを
使わなければならず、また抽象的な概念みたいなもの(データモデルとか
データアイテム)とか出てきて、簡単に「サクッ」と作る感じではないので、
習得に時間が掛かりそう。「エキスパートのための高級品」のイメージ。
ウィジットの種類も豊富だし、一つのウィジットが多くの機能を持っているので
困ることはなさそう。

wxWidgwtsは確かにツールが豊富だけど、決定版と言えるものはイマイチ
ない気がする。wxDev-C++が導入簡単だけどデバッガーが環境や条件に
よって動作しないトラブル発生中。もう随分前に発覚したのになかなか
直らない。Delphiで書かれていて、近くC++に移植が予定されているようだ。
使えるのはCode::Blocksかな?

wxWidgwtsはQtよりは理解しやすいと思う。日本語の扱いは別に問題ないよ。
ウィジットの種類は豊富だけど、肝心なものがなかったり...
俺はスピンボタンつきの数値専用エディットボックスで、実数を
扱いたかったんだが、これが標準ではない。3rd Party製があるけど、
IDE/RADで、非標準のウィジットを簡単に取り込める仕組みを
持ったものがないので、結局手で書くしかなくて面倒。

Ultimate++は使い勝手が良くない。というかユーザーインターフェースの
設計が下手で、直感的に使えない。それと日本語の扱いに問題がある。
Windowsの話だけど、エンコーディングにCP932(SJIS)が選べないので、
utf-8にするしかない。それでもC++版Hello World!を「こんにちは 世界!」
にして実行したら文字化けしたので、カッとしてアンインストールして
しまった。

以上、ご参考まで。

317 名前:login:Penguin mailto:sage [2009/11/07(土) 07:40:28 ID:h9ilEYN9]
Lazarus とか。 

318 名前:login:Penguin mailto:sage [2009/11/07(土) 07:53:25 ID:wJdSUuBx]
gtkmmを薦めてるのがいるが真に受けんように
C++でまともに動いたら、scim-bridgeみたいなモノを作る羽目にはならん

319 名前:login:Penguin [2009/11/07(土) 11:52:06 ID:CPjNRklA]
面白いのはわかるが、今更そんなんやったって・・・
激しくつまらんけど、これからはAIRですよ

320 名前:login:Penguin mailto:sage [2009/11/07(土) 13:30:53 ID:pZqg2eyF]
いや、これからはJavaですよ
作ってて面白いしね


321 名前:309 mailto:sage [2009/11/07(土) 15:04:13 ID:pqmmO2Ng]
>>315
そうだね。
オンラインリファレンスを地味に検索しながら
emacsのruby-modeで書いてるよ。
methodsとかのメソッドで確認したりするぐらい。
emacsで構文解析してメンバ関数だのメソッドを補完する環境って無いんじゃないかな。
無作為に辞書から補完するのはあるかもしれんけど。
netbeansはよく知らない。
Ubuntuだと「追加と削除」からリRuby Browserというリファレンスビュワーが落とせるよね。
これはRuby/Gtk2のクラスも見られたと思う。

322 名前:login:Penguin mailto:sage [2009/11/07(土) 19:56:24 ID:nXIVDau4]
型がなんでgintやgcharなの?
intやcharではダメなわけ?

C言語とのこういうちょっとした違いは
他にもいろいろあるの?




323 名前:login:Penguin mailto:sage [2009/11/07(土) 20:43:43 ID:P9pTNgo8]
> 型がなんでgintやgcharなの?
移植しやすくする為の措置じゃなかったっけか

324 名前:login:Penguin mailto:sage [2009/11/07(土) 21:04:17 ID:nXIVDau4]
「g」が付いてるほうが移植性が高いのかねぇ。

みんなはそういうのをどうやって覚えたの?
解説本とかあまり売ってないみたいだけど…。






[ 続きを読む ] / [ 携帯版 ]

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

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