我的脚本工作正常,我只想添加一个进度条来显示进度(呃!)。 这是我制作的测试脚本,因为我在原始脚本中发现了问题。在原始脚本中,循环中有很多打开,保存,复制,粘贴和转换......
var StatusWindow = new Window("window","Production");
StatusWindow.size = [400,150];
StatusWindow.alignChildren = "left";
StatusWindow.TextProgress = StatusWindow.add("statictext",[0,0,200,0]);
StatusWindow.BarProgress = StatusWindow.add("progressbar",[0,0,200,12]);
StatusWindow.show();
for (n=0; n<100; n++) {
StatusWindow.TextProgress.text = n;
StatusWindow.BarProgress.value = n;
$.sleep(100);
}
alert("Done!);
脚本运行并显示Window和进度条。然后,在警报框出现之前,UI中不会更新任何内容。如果我暂停脚本(whitin ExtendScript Toolkit CS5),则使用thext更新UI并正确进度。我知道,当系统中有“遗留”时间时,UI正常只会更新,但这太荒谬了!!!
如何在我需要时强制Photoshop更新用户界面?
//感谢。
答案 0 :(得分:1)
(来自JavaScript Tools guide)您可以使用StatusWindow.update()
答案 1 :(得分:0)
您可能需要考虑使用app.refresh()或waitForRedraw()。 window.update()似乎没有为我解决这个问题。
以下是来源:http://www.davidebarranca.com/2012/10/scriptui-window-in-photoshop-palette-vs-dialog/