GTK+プログラミング (983レス)
GTK+プログラミング http://mao.5ch.net/test/read.cgi/linux/1188968326/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
771: login:Penguin [sage] 2014/05/24(土) 00:08:41.16 ID:jA6HOcWn gtkmmでProgressBarの描画更新はどうやったらええねん set_fractionしても途中を描画してくれない http://mao.5ch.net/test/read.cgi/linux/1188968326/771
773: 771 [sage] 2014/05/24(土) 09:12:07.41 ID:ESO9FbEd >>772 それアクティビティモードというのと違う? ナイトライダーをしたいわけではないんよ・・・ http://mao.5ch.net/test/read.cgi/linux/1188968326/773
774: login:Penguin [sage] 2014/05/24(土) 12:34:03.59 ID:3aXipg2f >>771,773 set_fraction() で、その都度増分を変えて、すぐ更新したいってこと? queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら? http://mao.5ch.net/test/read.cgi/linux/1188968326/774
775: 771 [sage] 2014/05/24(土) 14:58:12.72 ID:ESO9FbEd >>774 はい、その通りです。お付き合い頂き有り難う御座います。 queue_draw()を試してみましたが、表示のされ方は変わりませんでした。 試したコードを貼り付けようとしたのですが、行数の制限で書けませんでしたので、部分的に書き込みます。 ググって見ているのですが・・・何かお気づきの点がありましたらよろしくお願い致します。 プログレスバーとボタンを配置し、ボタンが押された時に動くようにしました。 drawBtn.signal_clicked().connect( sigc::mem_fun( *this, &ProgressWindow::on_draw_prog ) ); void ProgressWindow::on_draw_prog() { progBar.set_fraction( 0.0 ); for( int i=0; i<100; i++ ) { progBar.set_fraction( (double)i/100.0 ); // progBar.queue_draw(); sleep( 1 ); } progBar.set_fraction( progBar.get_fraction() + 0.01 ); } http://mao.5ch.net/test/read.cgi/linux/1188968326/775
778: 771 [sage] 2014/05/24(土) 22:15:14.18 ID:SrMGc3rQ >>776 コードまで書いて頂き有り難う御座います。 コンパイルして動作を見ましたら、進捗状況の変化を確認できました。 しかしながらon_button_update内で下記コードのようなループを回しset_fractionするようにしてみましたら 相変わらず最後の表示だけするようです。実際の処理ではループを回して進捗状況をset_fractionします。 む〜もう少しネットをあさってみます。 void ExampleWindow::on_button_update() { m_ProgressBar.set_fraction( 0.0 ); for( int i=0; i<100; i++ ) { m_ProgressBar.set_fraction( (double)i/100.0 ); m_ProgressBar.queue_draw(); sleep( 1 ); } } http://mao.5ch.net/test/read.cgi/linux/1188968326/778
779: 771 [sage] 2014/05/24(土) 23:11:20.28 ID:SrMGc3rQ なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな [変更前] m_ProgressBar.queue_draw(); sleep( 1 ); [変更後] usleep( 50000 ); while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true ); http://mao.5ch.net/test/read.cgi/linux/1188968326/779
781: 771 [sage] 2014/05/25(日) 10:38:49.48 ID:OwNsCCvJ タイマーか〜処理がスパゲッティーになりかけているから使いづらいんだよね アクティビティモードの時は使いやすそう。 今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな http://mao.5ch.net/test/read.cgi/linux/1188968326/781
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.045s