GTK+プログラミング (983レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
771
(6): 2014/05/24(土)00:08 ID:jA6HOcWn(1) AAS
gtkmmでProgressBarの描画更新はどうやったらええねん
set_fractionしても途中を描画してくれない
773
(1): 771 2014/05/24(土)09:12 ID:ESO9FbEd(1/2) AAS
>>772
それアクティビティモードというのと違う?
ナイトライダーをしたいわけではないんよ・・・
774
(1): 2014/05/24(土)12:34 ID:3aXipg2f(2/5) AAS
>>771,773
set_fraction() で、その都度増分を変えて、すぐ更新したいってこと?
queue_draw() で、PrograssBar の on_draw イベントを呼んでみたら?
775: 771 2014/05/24(土)14:58 ID:ESO9FbEd(2/2) AAS
>>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 );
}
778: 771 2014/05/24(土)22:15 ID:SrMGc3rQ(1/2) AAS
>>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 );
}
}
779: 771 2014/05/24(土)23:11 ID:SrMGc3rQ(2/2) AAS
なんかそれっぽい動きになったけどこれでいいのかね・・・イベント強制執行みたいな

[変更前]
m_ProgressBar.queue_draw();
sleep( 1 );
[変更後]
usleep( 50000 );
while( Gtk::Main::events_pending() ) Gtk::Main::iteration( true );
781: 771 2014/05/25(日)10:38 ID:OwNsCCvJ(1) AAS
タイマーか〜処理がスパゲッティーになりかけているから使いづらいんだよね
アクティビティモードの時は使いやすそう。
今少し弄っているんだけど、set_pulse_stepでステップ量設定しても反映されないな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.030s