Python工具箱中的多行GPString参数

59
3.
昨天
RogerDunnGIS
通过
偶然的因素

我为ArcGIS Pro编写了一个Python工具箱工具,它可以从用户那里接收大量的文本。这可以是注释、注释或文档。该参数的值稍后会插入到非常当工具运行时,特性类的宽文本字段。注意:该字段是受支持的字段类型,而不是BLOB。但是,用户无法按Enter键输入新的行或段落,而他们希望这样做。而且,粘贴到这个参数中的任何文本只能到达第一段,在回车符之前停止。我想如果给用户提供一个类似于备忘录的控件来输入所有这些文本,这个问题就可以解决了。这能做到吗?我可以为用户提供一个多行控件,以输入带有回车符的大注释吗?

0荣誉
3回复
JohnStreeb
通过
偶然的因素

我个人不太熟悉,不知道是否有你所要求的解决方案。但是,我确实想知道,作为一种解决方法,如果添加一个文本文件的可选输入参数就足够了。如果文本足够短,你可以让他们按原样输入文本,或者允许他们输入一个基本的*.txt文件作为输入,否则可以输入更长的/多行的文本。不确定这是否真的能满足你的需求,但是,我想我至少会把它扔在那里,以防它有用。

0荣誉
Luke_Pinner
通过 常规赛MVP
常规赛MVP

丑陋的解决方案-使用“SQL表达式”数据类型…?

模型构建器参数中的多行文本条目

0荣誉
JeffK
通过 常规赛MVP
常规赛MVP

我希望像Shift+Enter这样的组合键能起作用,但它没有。您可以让它们用三个空格分隔段落(或在自然类型中找不到的组合),然后在字符串中进行替换,并替换为/n或/n/n,这取决于您想要的间距。

intext = arcpy.GetParameterAsText(0)如果不是intext或intext == ": intext = 'sdffewafaewfwaefawefaewa awefaewfawe afewaewf aewfewafaefa aewfaewfa afwefaefae awefrerafafcaewcew awefewafacawewsfdaesfea' intext_updated = intext。Replace (' ', '\n\n')…

截图2023-01-06 193523.png

如果你真的想要一个文本框,你必须去Pro SDK并创建一个插件来访问WPF控件。

0荣誉