标签: progress-bar

在CLI应用程序中创建进度条

当使用工具,如bzr,doxygenscpwget,我看到他们都有一个不错的进度条,看起来像这样:

|=============>---------| 55% ETA 3:30
Run Code Online (Sandbox Code Playgroud)

我尝试在C++中使用该\b字符编写类似的东西,就像我之前写过的东西一样多次.输出闪烁得非常糟糕,看起来并不像上面提到的工具那么顺畅.

如何使用Python顺利创建这样的进度条(或至少更改显示的ETA)?

python command-line-interface progress-bar

2
推荐指数
1
解决办法
2156
查看次数

在RunWorkerCompleted触发后,BackgroundWorker OnProgressChanged仍然触发

我的应用程序用于BackgroundWorker将文件上传到FTP服务器.一切正常,但似乎OnProgressChanged事件不应该像它应该的那样工作.

事件发生OnProgressChanged后我会完全完成RunWorkerCompleted,但事实并非如此.

在我的情况下,OnProgressChanged虽然RunWorkerComplete被触发,事件仍在触发.显然,我的进度条仍在继续,而我的文件已经完全发送到ftp服务器.

我在我的调试模式下进行了测试,我看到在RunWorkerCompletedFired 之后,OnPorgressChanged仍在工作.

我的代码在这里.

 void FTP_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker bw = sender as BackgroundWorker;
        try
        {
            string filename = e.Argument.ToString();
            if (filename != string.Empty)
            { 
                FileInfo fileInf = new FileInfo(filename);
                FtpWebRequest reqFTP;
                if (!IsFolderExist(_defaultDir))
                {
                    MakeDefaultDir(_defaultDir);
                }

                reqFTP = GetRequest(this._host, this._port, GetDirName(_defaultDir) + "/" + fileInf.Name, this._user, this._pass);
                reqFTP.KeepAlive = false;
                reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
                reqFTP.UseBinary = true;
                reqFTP.ContentLength = fileInf.Length; …
Run Code Online (Sandbox Code Playgroud)

c# backgroundworker progress-bar

2
推荐指数
1
解决办法
1084
查看次数

backgroundWorker和progressChanged无法正常工作

我不能让进度条工作!如果我执行以下代码,即使代码被执行,条形仍然为空,ReportProgress似乎没有更新任何东西..:

namespace GPUZ_2

{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        GPUZdata test = new GPUZdata
        {
        };

        //invio l'oggetto al thread backgroundworker
        backgroundWorker1.RunWorkerAsync(test);
    }


    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        //
        // e.Argument always contains whatever was sent to the background worker
        // in RunWorkerAsync. We can simply cast it to its original type.
        //
        GPUZdata argumentTest = e.Argument as GPUZdata;




        argumentTest.OneValue = 6;
        Thread.Sleep(2000);
        backgroundWorker1.ReportProgress(50);
        argumentTest.TwoValue = 3;
        Thread.Sleep(2000);
        backgroundWorker1.ReportProgress(100);


        //
        // Now, …
Run Code Online (Sandbox Code Playgroud)

c# backgroundworker progress-bar

2
推荐指数
1
解决办法
9570
查看次数

ProgressBar Paint方法?

好的,这是我在进度条上绘制内容的代码:

private void timer2_Tick(object sender, EventArgs e)
    {
        int percent = progressBar1.Value;
        progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Arial", (float)8.25, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
        progressBar1.Increment(+1);
        if (progressBar1.Value >= 99)
        {
            timer2.Stop();
            this.Close();
        }
Run Code Online (Sandbox Code Playgroud)

好的,所以我在它的中间画一个标签,它会显示进度条的值.出于某种原因,它一直在闪烁......消失并再次出现.所以,有人告诉我拿出那些代码并把它放在paint方法中.....我不明白.有没有更简单的方法?

c# visual-c#-express-2010 progress-bar

2
推荐指数
1
解决办法
2463
查看次数

如何基于基于变量数组运行的foreach循环更新进度条?

例:

在我的代码中,进度条位于70:

pbUpload.Value = 70;

foreach (string file in finalFiles)
{
    //processes
    //processes
}
Run Code Online (Sandbox Code Playgroud)

finalFiles具有可变长度。表示它没有固定编号。因此,基本上我需要首先弄清楚数字,这很容易,但是接下来我该如何构建一个循环,将进度条从70更新为100(100是最后一个“每个”元素)?

c# foreach progress-bar

2
推荐指数
1
解决办法
8143
查看次数

在循环中更新html5进度条

在以下代码中,<progress>每个cicle都会更新html5 标记的值.我还可以使用Chrome的控制台看到它的价值动态变化.但为什么渲染只在循环结束时更新?

<!doctype html>
<meta charset="utf8"></meta>
<title></title>
<body>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>

  <button>click</button>
  <progress  min="0" max="10000" value="0"></progress>

  <script>
    $("button").click(function(){
        for(var i=0; i<8000; i++)
            $("progress").val(i)
    })
  </script>
Run Code Online (Sandbox Code Playgroud)

jquery html5 progress-bar

2
推荐指数
1
解决办法
5900
查看次数

ProgressBar不适用于fxml文件和控制器

所以我使用这个链接来设置我的进度条,当我运行这段代码时它运行得很好.

但是,通过我的设置,我似乎无法获得实际更新的进度条... progressBar.getProgress()实际上获得了正确的进度,但UI未更新.这是迄今为止的代码:

Main.java

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            FXMLLoader loader = new FXMLLoader(Main.class.getResource("ProgressBarLayout.fxml"));
            AnchorPane root = (AnchorPane) loader.load();
            Scene scene = new Scene(root);
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

ProgressBarController.java

public class ProgressBarController {
    private Task copyWorker;

    @FXML
    private ProgressBar progressBar;

    @FXML
    private void onButtonClick() {
        progressBar = new ProgressBar(0);
         progressBar.setProgress(0);
         copyWorker = createWorker();

         progressBar.progressProperty().unbind();
         progressBar.progressProperty().bind(copyWorker.progressProperty()); …
Run Code Online (Sandbox Code Playgroud)

java multithreading javafx progress-bar

2
推荐指数
1
解决办法
4868
查看次数

C# - 带有Marquee样式的ProgressBar

我想在带有Marquee样式的表单上添加ProgressBar,以向用户显示正在进行的操作.在耗时的操作期间,表单不会更新,因此ProgressBar也会"冻结".

我查了几篇关于BackgroundWorker的帖子,但在我的情况下,操作不会报告进度,这就是我需要一个Marquee栏的原因.

任何帮助或代码片段都表示赞赏.

注意:我需要使用.NET 4.0(支持XP),所以我不能使用Task.Run :(

button1_Click(object sender, EventArgs e)
{
    progressBar1.Style = ProgressBarStyle.Marquee;
    progressBar1.MarqueeAnimationSpeed = 50;

    // INSERT TIME CONSUMING OPERATIONS HERE
    // THAT DON'T REPORT PROGRESS
    Thread.Sleep(10000);

    progressBar1.MarqueeAnimationSpeed = 0;
    progressBar1.Style = ProgressBarStyle.Blocks;
    progressBar1.Value = progressBar1.Minimum;

}
Run Code Online (Sandbox Code Playgroud)

c# progress-bar

2
推荐指数
1
解决办法
1万
查看次数

Shiny:ProgressBar用于将数据从数据库加载到数据表(DT)

我还没有找到关于Shiny中ProgressBar的问题的解决方案,用于从数据库加载数据.我的Shiny App连接到数据库,用户直接从那里获取数据(因为我的SQL查询是被动的,数据量不同).有时数据很大,加载需要一些时间.用户不知道是否有什么事情发生或应用程序"卡住".我在我的应用程序(在output$tabelle <- DT::renderDataTable({...中)实现了最简单的流程指标,但似乎还不够:

progress <- shiny::Progress$new()

        on.exit(progress$close())

        progress$set(message = "Processing", value = 0)
Run Code Online (Sandbox Code Playgroud)

用户仍然有点困惑.

我想像这样smthg(在R中显示状态消息)使用?tcltk::tkProgressBar:

在此输入图像描述

pb <- tkProgressBar("test progress bar", "Some information in %",
        0, 100, 50)
Sys.sleep(0.5)
u <- c(0, sort(runif(20, 0 ,100)), 100)
for(i in u) {
    Sys.sleep(0.1)
    info <- sprintf("%d%% done", round(i))
    setTkProgressBar(pb, i, sprintf("test (%s)", info), info)
}
Sys.sleep(5)
close(pb)
Run Code Online (Sandbox Code Playgroud)

有一些百分比评估从数据库加载数据的进度.

我不知道如何在我闪亮的应用程序中使用它.任何想法都会有所帮助.

提前致谢!

*一些简单的应用:

library("shiny")
library("DT")
shinyApp(
  ui = fluidPage(DT::dataTableOutput('tbl')),
  server = function(input, output) {
    output$tbl = DT::renderDataTable(
      iris) …
Run Code Online (Sandbox Code Playgroud)

r progress-bar shiny dt

2
推荐指数
1
解决办法
1971
查看次数

Delphi选框进度栏

我已经在一个单独的线程中运行了一个查询,该查询需要一些时间来处理,因为用户目前无法知道在后台正在执行某些操作,因此我想创建一个进度条,例如该图像上的第三个进度条:

在此处输入图片说明

我查看了其他问题/答案,看起来就像是跑马灯进度条,我尝试将进度栏设置为跑马灯,但它什么也没做。进度栏属性如下:

MarqueeInterval = 10
Max = 100
Min = 50
Orientation = pbHorizontal
Position = 50
Smooth = True
State = pbsNormal
Step = 10
Style = pbstMarquee
Run Code Online (Sandbox Code Playgroud)

我做错了什么还是需要更改?

我的启动代码如下:

procedure TFormMain.SetupForm;
begin
  // Connect to the database
  ConnectToDatabase;

  // Initially hide combo box
  ShowHideComboBox(False);

  ListViewDataType.Columns[0].Width := -1;

  UsingOwnTemplate := False;

  // Initial page is the welcome page
  PageControl.ActivePage := TabWelcome;
end;

procedure TFormMain.ConnectToDatabase;
var
  FullPath : String;
  CompanyName: String;
begin
  // Create the database connection
  DBConnection := TFDConnection.Create(nil); …
Run Code Online (Sandbox Code Playgroud)

delphi progress-bar

2
推荐指数
1
解决办法
216
查看次数