1

計算の進行中に Gtk::Spinner オブジェクトを表示しようとしていますが、何も起こっていないようです。コードのスニペットは次のようになります...

{
    Gtk::Spinner spinner;
    spinner.start (); 
    // do some work...
    spinner.stop ();
}

スピナーは、それが表示されるダイアログを知る必要があると思っていましたが、それをオブジェクトにフィードする方法がわかりません。実用的な例をどこで見つけることができるか知っている人はいますか? 多くの場所で Gtk のドキュメントを見つけることができますが、あまり役に立ちません。

4

3 に答える 3

2

呼びましたか

spinner.show ();

それをいくつかのウィンドウに追加しますか?

さらに、計算によって UI がブロックされる可能性があるため、UI は更新されません。電話

while (Gtk::Main::events_pending ())
    Gtk::Main::iteration ();

たまに。

于 2010-07-21T15:40:19.760 に答える
1

マウスカーソルを「ビジー」に変更するには、次のようにします。

Glib::RefPtr<Gdk::Window> window = dialog.get_window();
if(window) {
    window->set_cursor(Gdk::Cursor(Gdk::WATCH));
    Gdk::flush();
}

元に戻すには、

window->set_cursor();

代わりは。

免責事項:私は通常CでGTKを使用しており、これをその場で翻訳しています...

于 2010-07-21T17:19:17.057 に答える