長時間実行されるスクリプトを作成し、それに次のコードでプログレスバーを追加しました。
function StartProgressBar()
gaugeProgress = iup.gaugeProgress{}
gaugeProgress.show_text = "YES"
gaugeProgress.expand = "HORIZONTAL"
dlgProgress = iup.dialog{gaugeProgress; title = "Note Replacement in Progress"}
dlgProgress.size = "QUARTERxEIGHTH"
dlgProgress.menubox = "NO" -- Remove Windows close button and menu.
dlgProgress:showxy(iup.CENTER, iup.CENTER) -- Put up Progress Display
return dlgProgress
end
これはループの前に呼び出され、ループ中にプログレスバーが更新されます(私はMainLoopを呼び出していません)。プロセスの最後に、dlgProgress.destroyを呼び出してクリアします。
プログレスバーからフォーカスを取得しない限り、問題なく動作しますが、フォーカスが失われるとプログラムがクラッシュするため、これを間違った方法で行っていると確信しています。誰かが正しい方法を教えてもらえますか?詳細なグーグルは私にiup、luaプログレスバーの例を見つけませんでした。
前もって感謝します。