我正在编程GUI并想使用进度条。我的代码:
load <- function(x,y){
k <- 10
bar <- tkProgressBar(title = "Bla ...",
label = "Progress",
0, ## minimum value
100, ## maximal value
0 ## initial value,
)
# show progress
j <- i/length(data)*100
if(j<k){
} else{
loading <- sprintf("%d%% ready",round(k))
setTkProgressBar(pb = bar,
value = k,
title = sprintf("Load Data.. (%s)", loading)
)
k <- k+10
}
这确实很好用,但是如果出现带有进度条的Window,则无法看到进度条,因为窗口太小了! 我首先要调整窗口才能看到栏。有没有办法,窗口的大小适合吧? 提前谢谢!
答案 0 :(得分:0)
您还没有指定您使用的库。如果是library(tcltk)
,请考虑切换到library(tcltk2)
。如果您已经在使用后者,则可以使用参数width
。该示例改编自?tkProgressBar
:
demo <- function(w)
{
pb <- tkProgressBar("test progress bar", "Some information in %",
0, 100, 50, width=w)
Sys.sleep(1)
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(2)
close(pb)
}
demo(100)
demo(500)