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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
234
(2): 2009/09/02(水)13:02 ID:Wp36mia7(1/3) AAS
>>227
コンパイルしてみたけどエラーで落ちてしまったよ

m_act_quit = Glib::RefPtr<Gtk::Action>::cast_static(m_builder->get_object("action1"));
これってどんな意味かな?
235
(1): 2009/09/02(水)18:54 ID:Wp36mia7(2/3) AAS
結局こんな感じに書いてつながったけど、何かモヤモヤするよ
複雑になってくると小汚くなりそうだなー

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
(1): 2009/09/02(水)19:25 ID:Wp36mia7(3/3) AAS
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 );
省2
237: 2009/09/03(木)02:34 ID:6mgKfH1n(1/3) AAS
>>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: 2009/09/03(木)02:38 ID:6mgKfH1n(2/3) AAS
>>235
別にそんな小汚くはないと思うけど。大体そんなもんだよ。
239: 2009/09/03(木)02:47 ID:6mgKfH1n(3/3) AAS
>>236
MyDialog は Gtk::DrawingArea を継承してもいいかも。
それと on_* は protected の方がいいよ。
240: 2009/09/03(木)12:32 ID:jVnTHMiE(1) AAS
>>234
適当なGtk::WindowのGUIを作って読み込ませたんだけど
それがうまく行ってなかったのかもしれない
色々有難う

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

URLも貼っておきます。
繋がらない、マジで誰か教えてください
246: 2009/09/21(月)16:41 ID:X29eYjZv(1) AAS
GtkGLextmm を使っている人はいますか?
実装具合とか、こっちのライブラリの方が良いよとかありましたら教えて頂きたいのです。
超初心者なのでMesaとかとの違いも分かりませんがGtk繋がりと言うことで宜しくお願いします。
247: 2009/09/24(木)10:56 ID:hMFgf6/j(1/2) AAS
独自処理のバッテリー残量表示のために
Ruby/Gtk2でGtk::StatusIconを使ってみたんですが、
tooltipは付けられても、どうもlabelを付けることができなさそうです。
通知領域にテキストないしはアイコン+テキストを表示したいのですが、
どんなクラスを使えばいいんでしょうか?
リファレンスを見た限りではちょっと見当が付きませんでした。
Gdk::Pixbufにテキストを動的に描画するのかな。
1-
あと 755 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.019s