Индикатор выполнения Double R tcltk - PullRequest
2 голосов
/ 08 декабря 2011

Мой вопрос здесь не в том, как создать единую индикатор выполнения, а в том, как создать индикатор выполнения, который отслеживает и обновляет два разных процесса.Например, в том же окне я хотел бы иметь полосу, отслеживающую текущий индекс симуляции, и другую полосу, отслеживающую другую серию чисел ... мой текущий код:

library(tcltk2)

pb1 <- tkProgressBar(title = "Simulation Progress...", min = 1, max = 10, width = 300)
pb2 <- tkProgressBar(title = "Simulation Progress...", min = 2000, max = 2020, width = 300)

for (index in 1:10){

setTkProgressBar(pb1, index, label = paste("Index",index))

for (year in 2000:2020){

setTkProgressBar(pb2, year, label = paste("Year",year))

}

}

I 'Мне бы хотелось, чтобы оба бара были вместе, а не по отдельности ... любая помощь приветствуется!

1 Ответ

4 голосов
/ 08 декабря 2011

Невозможно с помощью tkProgressBar, вам придется копать вглубь tcltk, что-то вроде этого:

library(tcltk2)

root <- tktoplevel()

l1 <- tk2label(root,"Simulation Progress...")
pb1 <- tk2progress(root, length = 300)
tkconfigure(pb1, value=0, maximum=9)

l2 <- tk2label(root, "Simulation Progress...")
pb2 <- tk2progress(root, length = 300)
tkconfigure(pb2, value=0, maximum=20, maximum = 20)

tkpack(l1)
tkpack(pb1)
tkpack(l2)
tkpack(pb2)

tcl("update")

for (index in 1:10){

    tkconfigure(l1, text = paste("Index", index))
    tkconfigure(pb1, value = index - 1)

    for (year in 2000:2020){
        tkconfigure(l2, text = paste("Year",year))
        tkconfigure(pb2, value = year - 2000)


    tcl("update")
    }       

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...