GenericDialogPlus - 将FileField保存为新变量吗?

时间:2018-04-01 21:16:25

标签: python dialog jython imagej fiji

新手编写脚本。

我想创建一个对话窗口,提示用户选择2个文件(“pos”和“neg”)。我还想将这些文件路径存储为变量,以便稍后使用。

我在存储文件路径时遇到问题。我只能收集默认路径,而不是存储用户选择的路径。

import os 
from java.io import File 
from ij import IJ 
from ij.gui import GenericDialog 
from fiji.util.gui import GenericDialogPlus
> 
gdp = GenericDialogPlus(“test”) 
gdp.addFileField(“pos”, “C:/Users/”)
pos = gdp.getNextString() 
gdp.addFileField(“neg”, “C:/Users/”) 
neg = gdp.getNextString() 
gdp.showDialog() 
print("yourfiles "+ pos+ " " + neg)

但这只是在重新燃起:

  

yourfiles C:/ Users / C:/ Users /

即使用户选择了新文件,即:C:/Users/test.tiff

我希望输出基于用户选择的内容:

  

yourfiles C:/Users/test.tiff C:/Users/negative.tiff

我错过了什么命令?谢谢!

2 个答案:

答案 0 :(得分:2)

我会去scijava的参数注释。它们也在脚本中工作:https://imagej.net/Script_Parameters

Bellow你找到了一个python示例:

test

...更容易处理,更优雅。

答案 1 :(得分:0)

来自ImageJ论坛的x-post的建议为我提供了解决方案 在显示对话框后,需要根据用户输入进行变量对齐( duh ,用户输入后...)

    import os 
    from java.io import File 
    from ij import IJ 
    from ij.gui import GenericDialog 
    from fiji.util.gui import GenericDialogPlus

    gdp = GenericDialogPlus(“test”) 
    gdp.addFileField(“pos”, “C:/Users/”)
    gdp.addFileField(“neg”, “C:/Users/”) 
    gdp.showDialog()

    pos = gdp.getNextString()
    neg = gdp.getNextString()
    print("yourfiles "+ pos+ " " + neg)

输出:

  

yourfiles C:/Users/test.tiff C:/Users/negative.tiff