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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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);
省2
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();
省4
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)
省13
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;
}
};

みたく仮想関数をオーバーライドするだけでいいんだけどね。
省3
1-
あと 769 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s