X



トップページLinux
926コメント335KB

GTK+プログラミング

0229login:Penguin
垢版 |
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();
}
0230login:Penguin
垢版 |
2009/09/01(火) 02:02:59ID:o0MV2wSR
ただの Gtk::Window で悪いけど Gtk::Drawingaria でも大差ないはず。
app_window.glade は GtkBuilder 形式の xml ね。
大体こんな感じが典型的な処理だと思うよ。
0231login:Penguin
垢版 |
2009/09/01(火) 20:43:11ID:LcijR9gh
>>226
> イベントとかどうやってつなげたらいいのだろう
> イベント処理で書かないと無理だよね?
drawareaをeventboxの上に乗せないとダメじゃなかったっけ?
# と、テストもせずにカキコ
0232login:Penguin
垢版 |
2009/09/01(火) 20:45:43ID:azH81sw2
有難う、私が書いていたのと大分違うみたい
少しずつ見てみるよ
0233login:Penguin
垢版 |
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++ っぽい書き方な気がする。
0234login:Penguin
垢版 |
2009/09/02(水) 13:02:19ID:Wp36mia7
>>227
コンパイルしてみたけどエラーで落ちてしまったよ

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
0235login:Penguin
垢版 |
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 ) );
0236login:Penguin
垢版 |
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();
};
0237login:Penguin
垢版 |
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 がないと駄目だよ。
それで落ちてるんじゃない?
0238login:Penguin
垢版 |
2009/09/03(木) 02:38:43ID:6mgKfH1n
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
0239login:Penguin
垢版 |
2009/09/03(木) 02:47:30ID:6mgKfH1n
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。
0240login:Penguin
垢版 |
2009/09/03(木) 12:32:06ID:jVnTHMiE
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

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

URLも貼っておきます。
繋がらない、マジで誰か教えてください
0246login:Penguin
垢版 |
2009/09/21(月) 16:41:13ID:X29eYjZv
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。
0247login:Penguin
垢版 |
2009/09/24(木) 10:56:15ID:hMFgf6/j
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。
0249login:Penguin
垢版 |
2009/09/25(金) 18:17:32ID:WaiZYKyV
>>243-245
DirectFBのソースをDLしようとオフィシャルサイトを開こうとしたけど、まだサーバが落ちたままだね・・・
9/14頃から落ちてるっぽいからメンテナンスにしては長過ぎだよね。
もしかしてDirectFB終了フラグON?
0250login:Penguin
垢版 |
2009/09/27(日) 00:08:06ID:ng4uKqzS
>>249
今はつながってる。digしたら212.227.87.76だった。
0251login:Penguin
垢版 |
2009/09/28(月) 02:12:56ID:5e1BLaTK
GTK+2.18記念あげ

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

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

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

hogehoge.show()

で表示されました。(バカみたいな話でお恥ずかしい)
0256login:Penguin
垢版 |
2009/10/12(月) 14:47:14ID:sqmRrC1g
ググってみたけど使えるっぽいよ
0257login:Penguin
垢版 |
2009/10/13(火) 21:28:52ID:l2EymYVQ
>>255
Leopard だけど、MacPortsからインスコできたよ。
Ruby/GtkとPyGtk用にと。
0258login:Penguin
垢版 |
2009/10/14(水) 03:07:04ID:VVFhTsV6
http://www.amazon.co.jp/入門GTK-菅谷保之/dp/4274067769

webの情報をまとめた程度らしいけど
gtkmmも扱って欲しかったかな
0259login:Penguin
垢版 |
2009/10/14(水) 03:31:23ID:cB0J9abS
Gtk+2 で初の和書じゃないの。出るだけで価値がある
0260login:Penguin
垢版 |
2009/10/14(水) 03:43:48ID:Evvplg3O
まぁお布施のつもりで買っておくか
0261login:Penguin
垢版 |
2009/10/14(水) 12:08:22ID:oK0tjYE+
Gtk::SpinButtonの値が変更された時に発生するイベントを一時的に停止することは出来ますか?
複数のGtk::SpinButtonが変更されるのが分かっている場合に一時的に停止して
手動でアップデートしたいのです。
0262login:Penguin
垢版 |
2009/10/14(水) 22:05:50ID:8MVmnU1X
>>258
gtk2hsも扱って欲かったwww
買うけどなwwww
0263login:Penguin
垢版 |
2009/10/14(水) 23:22:20ID:QhaIdhW6
QtよりGTK+がイイみたいだぬ、GTK+に決めるぬ
0264login:Penguin
垢版 |
2009/10/15(木) 00:17:55ID:K/xBs5bI
Qtもいいぬ。触ってみてぬ(´・ω・`)
0265login:Penguin
垢版 |
2009/10/15(木) 03:29:50ID:eDklkq43
>>258
そもそも洋書でもgtkmmはないだろ。そんな中で日本語の本なんて奇跡が
起こらない限り無理だろ。
0267login:Penguin
垢版 |
2009/10/15(木) 23:20:38ID: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
    日米規制改革および競争政策イニシアティブに基づく日本国政府への米国政府要望書
    http://japan.u●sembassy.●gov/j/p/tpj-j2●0041020●-50.html#mineika-s

●の部分は外してブラウザのURLに入れること

0268login:Penguin
垢版 |
2009/10/16(金) 23:10:15ID:qPhMCs8o
>>258
「入門GTK+」
今日、買ってきたよ。

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

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

誰か、「猿でもわかるqt4」って本、書いてくれないかな〜
0272login:Penguin
垢版 |
2009/10/16(金) 23:37:35ID:q3/VuRbk
GTK+は使ったときないけど、QtもQt Creatorもすごく使いやすいぬ(´・ω・`)
GTK+簡単なら使ってみようかしら。
0273login:Penguin
垢版 |
2009/10/17(土) 14:15:16ID:XYXybyM0
>>268
読みやすいのか、ボーナス出たら買おうかな。

>>272
C++使えるならQtだけでいいんでない?
おれはCしか知らないからGTK…
0274login:Penguin
垢版 |
2009/10/17(土) 15:22:41ID:nWRW4zS0
そいつム板のwxスレを荒らしてるキチガイだから放置推奨
0275login:Penguin
垢版 |
2009/10/18(日) 03:51:09ID:+Fs337jm
Gtk+の場合はGladeってのがある。もちろん簡単。
0276login:Penguin
垢版 |
2009/10/18(日) 09:53:27ID:juku8Oo/
gladeはもうobsoleteだけどね。今はGtkBuilderを使う
0277login:Penguin
垢版 |
2009/10/18(日) 09:59:19ID:oZOJkxHq
glade自体はまだまだ現役だよ。
ただlibgladeはもうobsoloteだけどね。
0278login:Penguin
垢版 |
2009/10/18(日) 21:34:36ID:mlVaod2q
>>271
ok
究極の友愛本と帯に書いておくよ
0279login:Penguin
垢版 |
2009/10/21(水) 08:09:56ID:2ccCLXEP
あと半年たらずでGTK+3が出るこの時期に出さんでもという気もするが。
0280login:Penguin
垢版 |
2009/10/21(水) 12:58:05ID:tvBs0TF8
>>279
HPに公開していたGTK+の第2版までのドキュメントを著書にしたいという願いと、
出版社側での「最近GTK+の本が出ていないので出したい」と言う思わくが一致して
GTK+-2の解説であっても出したんでないの。
0281login:Penguin
垢版 |
2009/10/21(水) 21:25:41ID:6UoL2jU0
GTK+3ってそんなに変わるの?
0283login:Penguin
垢版 |
2009/10/22(木) 05:25:32ID:sG60T9Up
3Dデスクトップをデフォルトにする方向性はやめてほしい。
Vista も KDE4 も総スカンだろ?
CPUのクロックが頭打ちなんだから、プログラマは節制しないと。
0284login:Penguin
垢版 |
2009/10/22(木) 06:02:24ID:IEkHgIHU
CPUのクロックが頭打ちだからこその3D描画だろ
GPUにやらせたほうが描画は速い ※適切な3Dドライバがある場合に限る
0285login:Penguin
垢版 |
2009/10/22(木) 07:05:43ID:+CGcKXd7
オイラは、普段非力なマシンばかり扱っているから3Dをすると重くてかなわん!
GTK+3が出ても当分は、GTK+2を使うよ。

「入門GTK+」を参考にすれば、jpgやgifのイメージビュ-ワが簡単に作れるし
動作も軽いからね。
0286login:Penguin
垢版 |
2009/10/22(木) 09:00:06ID:hz6htkDb
描画は速いかもしれないがメモリ食うんだ
0287login:Penguin
垢版 |
2009/10/22(木) 18:11:31ID:oTwQaR0U
GTK+3は使用メモリ量が減って重くなるの?
0288285
垢版 |
2009/10/22(木) 19:41:05ID:2c91WZnW
因みに我が家での、
「入門GTK+」を参考に作ったイメージビュ-ワで
画像 1024x768_16bit_color.jpg(65536色)表示時のメモリ使用量は、

イメージビュ-ワ本体だけの立ち上げ時: 1.25MB
画像1024x768_16bit_color.jpg表示時: 1.25+2.62=3.87MB
だった。
0289login:Penguin
垢版 |
2009/10/22(木) 22:10:41ID:1jy7wL1R
Windows だと何十メガとメモリ食うよね。
まあしょうがないんだろうけど。
0290login:Penguin
垢版 |
2009/10/22(木) 22:42:41ID:GKZrjVVp
GTK+3はスルーしてGTK+4まで待つお(´・ω・`)
0291login:Penguin
垢版 |
2009/10/23(金) 02:29:05ID:icsRYQ9+
Gtk+3は現状で限りなく3に近づいているから、そんなに変わらない。
0292KyPAWlrSIokuKhBa
垢版 |
2009/10/23(金) 22:50:30ID:gHGN7SxH
The psychology literature certainly has a lot to say about the topic, but economists have a rather simplistic view of the issue. ,
0293login:Penguin
垢版 |
2009/10/24(土) 00:38:30ID:9RfZkvGi
>実のところ,私はKDE-1.0を見て(日本語は通らなかったものの)デスクトップ分野での UNIXの未来を確信し,
>GNOME-1.0を見て目の前が真っ暗になった人なのですが(笑)
>当時はQtが改変不可だったために,GTK/GNOMEを選択せざるを得なかった.

とあるサイトの人のことばなんですが、詳しいことがさっぱりなので、どういう文脈なのかわかりません
誰か解説していただけたら幸いです。もしこれが荒れるような内容でしたらスルーを…
0294login:Penguin
垢版 |
2009/10/24(土) 01:27:11ID:BKx301Ml
趣旨は脚注でない本文のほうにあると思うが、
GObjectも定着して成長したし、いまは中の人の評価も少しは違うかも。
まぁGtk+はダサい技術だと思う。でもダサいほうが品質高かったりするわけだが
0295login:Penguin
垢版 |
2009/10/24(土) 01:54:57ID:Qc2ltt6a
クラス構造体の中に変数詰めてるとか(VTableとしても使えたなら…)、
G_SIGNAL_ACTIONフラグはただの目印にしかしてない所や、
せっかくGObjectというランタイムタイプシステムこさえてるのに
一部C言語バインディングからしか使えない機能とかあるっぽいところとかGTK+はだせぇなあと思う。
でもGObjectは面白かった。QtのmocやSiGnal/SLOTはいまいちそそられない。
0296login:Penguin
垢版 |
2009/10/24(土) 04:12:11ID:wG3ZsfW/
今はValaが熱いよ。GObjectが好きな人なら尚更ハマること請け合い。

>>293
まぁ見ての通りだと思うけど、KDE1.0は衝撃的だったな。KDEが出るまでは
Linux(BSD)は一部のマニアのおもちゃでしかなかったのが一般にも普及しそう
な期待があった。
結局サーバー分野はある程度普及したけど、デスクトップ分野は今も昔も
変わってないけどね。
で、Gnome1.0あんまり記憶がないんだけど見た目はMotifに似ていてダサくて
動作が不安定だった記憶がある。
0297login:Penguin
垢版 |
2009/10/24(土) 12:25:04ID:9hbzJrW8
シグナルとかが補完されるエディタってないかな?
0299login:Penguin
垢版 |
2009/10/24(土) 19:23:04ID:wyOmgHI3
Gnome 1というとSolarisのイメージがあるなあ
大学の標準装備だった。俺は速攻twmにしたが。
0300login:Penguin
垢版 |
2009/10/29(木) 23:20:42ID:6yKiv2hH
これからGTK+を学ぼうと思っています。
主にLinuxで開発するつもりで、AnjutaというIDEを使ってみようと思いますが、
Windowsマシンでたまにコーディングしたいときにはどうしたらいいんでしょ?
Windows版ってありますか?
Linux板で聞くのは変ですが…。
0301login:Penguin
垢版 |
2009/10/30(金) 21:38:43ID:7aJTkb9U
>>300
ム板にもスレがあることに気づいて
そこの過去情報を読んだら解決しました。
お邪魔しました。
0302login:Penguin
垢版 |
2009/11/01(日) 17:23:59ID:qpVzDXQL
GUIツールキットを比較しつつ、どれがいいか検討しています。
今の第一候補はGTK+ですが、実際に使っている人の声を聞きたいです。
他の候補はQt、wxWidgetsで、言語はC++の予定です。

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

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

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

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

これらは自分で集めた情報なので間違ってるかもしれません。
他にメリットやデメリットがあればどうぞ教えてください。
よろしくお願いします!
0304login:Penguin
垢版 |
2009/11/01(日) 22:13:27ID:qpVzDXQL
>>303
やっぱりGTK+はC++に向いてないということですね。
情報ありがとうございました。

他にも情報があれば皆さんよろしくお願いします。
0307login:Penguin
垢版 |
2009/11/02(月) 00:05:28ID:F2TUeYlu
>>305
GLUTを調べて見ましたが、OpenGLのやつなんですね。
3Dにはあまり興味が無いですが、今後必要になったとき使ってみます。
情報ありがとうございました。

>>306
GTK+はC++との親和性が少し低いけど、gtkmmはC++用で問題ないということですね。
試してみます。
ありがとうございました!
0308login:Penguin
垢版 |
2009/11/03(火) 01:21:46ID:Vebc7itB
rubyでgtkプログラムをしたいんですけど、何かいい開発環境はないですか?
gladeとかでみためは作って変換できるのですが、中で実行するシグナル(っていうんですかね)がどういう感じで使えるかというのがわからないので
調べ調べになってしまいます。通常使ってるのはemacsとnetbeansです。これに似た、もしくはその上で動かせるものはありませんか?
補完とかできたらうれしいのですが。
0309login:Penguin
垢版 |
2009/11/03(火) 19:55:27ID:0PVkcWZ9
逆に「gladeとかでみためは作って変換できる」の部分を
詳しく教えてほしい。
0310login:Penguin
垢版 |
2009/11/03(火) 20:05:58ID:DNzdCjrE
gtk-builder-convertのことかな?
0311login:Penguin
垢版 |
2009/11/03(火) 22:30:31ID:1H0HUjWH
ruby-glade-create-template とかあったよな.
0312login:Penguin
垢版 |
2009/11/04(水) 08:03:24ID:03fE0NL7
クラスライブラリのリファレンス(英語)なら公式サイトでrbbrっていうサンプルアプリとして
置いてあるけど、そういうことじゃないのかな?
0313308
垢版 |
2009/11/05(木) 02:27:28ID:Cf0Et12U
>>309-311
311さんが言ってるみたいにruby-glade-create-templateで作ったgladeファイルを.rbに変換して
オブジェクトは作ったからメソッド書いて自分の思うような動きを作ってちょうだいな。みたいなところまではできます。
しかし、rbファイルを編集するときにrequire 'gtk2'をよんでいるのにemacsでもnetbeansでも補完してくれませんでした。

>>312
rbbrは使ってるOSにパッケージがあったのでそれを入れてみましたが。リファレンスを引けるようになりました!
リファレンスが引けると言うことは補完もできるのでは?と今悩んでいる状態です。
0314309
垢版 |
2009/11/06(金) 12:34:31ID:pFNFtZEf
>>310
>>311
>>313
サンクスです。ググったら
Ruby/Gtk2のチュートリアルに書いてあるね
規制でタイミング逸して返事書かなくてすまん
0315308
垢版 |
2009/11/06(金) 17:32:52ID:1VLamOE6
>>309さんはどんな感じでコードかいてますか?
リファレンス見ながらかいている感じですか?
0316login:Penguin
垢版 |
2009/11/07(土) 07:20:09ID: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!を「こんにちは 世界!」
にして実行したら文字化けしたので、カッとしてアンインストールして
しまった。

以上、ご参考まで。
0318login:Penguin
垢版 |
2009/11/07(土) 07:53:25ID:wJdSUuBx
gtkmmを薦めてるのがいるが真に受けんように
C++でまともに動いたら、scim-bridgeみたいなモノを作る羽目にはならん
0319login:Penguin
垢版 |
2009/11/07(土) 11:52:06ID:CPjNRklA
面白いのはわかるが、今更そんなんやったって・・・
激しくつまらんけど、これからはAIRですよ
0320login:Penguin
垢版 |
2009/11/07(土) 13:30:53ID:pZqg2eyF
いや、これからはJavaですよ
作ってて面白いしね
0321309
垢版 |
2009/11/07(土) 15:04:13ID:pqmmO2Ng
>>315
そうだね。
オンラインリファレンスを地味に検索しながら
emacsのruby-modeで書いてるよ。
methodsとかのメソッドで確認したりするぐらい。
emacsで構文解析してメンバ関数だのメソッドを補完する環境って無いんじゃないかな。
無作為に辞書から補完するのはあるかもしれんけど。
netbeansはよく知らない。
Ubuntuだと「追加と削除」からリRuby Browserというリファレンスビュワーが落とせるよね。
これはRuby/Gtk2のクラスも見られたと思う。
0322login:Penguin
垢版 |
2009/11/07(土) 19:56:24ID:nXIVDau4
型がなんでgintやgcharなの?
intやcharではダメなわけ?

C言語とのこういうちょっとした違いは
他にもいろいろあるの?
0323login:Penguin
垢版 |
2009/11/07(土) 20:43:43ID:P9pTNgo8
> 型がなんでgintやgcharなの?
移植しやすくする為の措置じゃなかったっけか
0324login:Penguin
垢版 |
2009/11/07(土) 21:04:17ID:nXIVDau4
「g」が付いてるほうが移植性が高いのかねぇ。

みんなはそういうのをどうやって覚えたの?
解説本とかあまり売ってないみたいだけど…。
0325login:Penguin
垢版 |
2009/11/07(土) 21:25:19ID:NL8bJnRF
>>nXIVDau4
たとえばlongが64bitの環境でも、glong的に32bitであってほしい場合にlongの代わりにintやint32をtypedefするとかな。
データ構造の隠ぺいとかはWeb上の先人の残した情報だったり、技術書立ち読みだったり、Win32やNSPRとか同じことやってる実例を見たりとかで知ったよ。
0326login:Penguin
垢版 |
2009/11/07(土) 22:58:20ID:FPX1oLqZ
>>324
C言語はintとかの定義に幅があるから
コンパイラが違えばintのサイズも異なったりするので
厳密に定義した独自のintを用意するわけですよ

先月出た本はどうでしょう
http://www.amazon.co.jp/dp/4274067769
0327login:Penguin
垢版 |
2009/11/07(土) 23:54:07ID:Iq2jGS9i
gint32、とかにした方が判りやすいのに
0328login:Penguin
垢版 |
2009/11/08(日) 03:02:52ID:A1QtHV1W
>>325-326
なるほど、なんとなくわかった。
ありがと。チュ!

本は今度本屋で見てみる。
0329login:Penguin
垢版 |
2009/11/08(日) 22:19:03ID:A1QtHV1W
GTK+をこれからやろうと思ってますが、C++よりC言語のほうがいいんでしょうか?
昔CもC++も少しずつかじりましたが、どっちも中途半端に終わって、今は頭の中でゴッチャになってます。
GTK+を始めるこの機会にどちらかをちゃんと勉強するつもりですが、どっちがいいか迷ってます。

CよりC++のほうが言語として優れていたり、C++を覚えたほうが何か有利だったりするんですかねぇ?
gtkmmというのを使えばC++でもいけるんですよね?
何かアドバイスをもらえればうれしいです。
レスを投稿する


ニューススポーツなんでも実況