我有一个python文件,作为脚本加载到maya脚本编辑器中。python文件当前编码为utf-8。
我需要使用and字符(或unicode中的任何其他箭头替换,例如or,我只想上下传递)。我用这些字符作为按钮的标签。剧本如下:
import Maya.cmds as cmds
def initInterface():
cmds.window("mywin")
cmds.rowColumnLayout("my_rcl", nc=1)
cmds.button(label=u'\â')
cmds.button(label=u'\â')
cmds.showWindow("mywin")
initInterface()
该脚本保存为mypythonscript.py,然后使用“加载脚本”按钮加载到maya脚本编辑器中。
在执行时,我得到了一个ui窗口和按钮,但按钮的标签现在是“?”(问号)。我好像不能让玛雅显示箭头。
为了解决这个问题,我尝试了一些代码内的东西。以下是我的一些尝试:
# Attempt 1
upArrow = u'\â'
upArrowEncoded = upArrow.encode("utf-8")
cmds.button(label=upArrowEncoded)
# Result: "?"
# Attempt 2
upArrow = u'\U+2B06'
cmds.button(label=upArrow)
# Result: "?B06"
# Attempt 3
upArrow = u'\U+2B06'
upArrowEncoded = upArrow.encode("utf-8")
cmds.button(label=upArrowEncoded)
# Result: "?"
老实说(从我的代码片段中很明显),我从来没有尝试过文本编码,对它一无所知。我不确定是否需要更改.py文件的编码,或者用utf-16或其他东西对字符串进行编码。这远远超出了我的专业领域,我很难找到帮助我理解文本和字符串编码的资源。
我查过这个:
Unicode Within Maya
而这:
Convert a Unicode String to a String in Python Containing Extra Symbols
但是我不能理解我读到的很多东西,我不确定它们是否与这个问题有关。
我是那种不喜欢使用我不懂的代码的人(人们如何记录这些代码?),所以我来这里是为了获得学习资源的链接和关于这个主题的一般建议,而不是为了得到一个我想要的代码片段。如果这是不可能的,我可以用图像按钮代替。但是,对于我可能使用的每个特殊字符,它们的制作效率和时间都较低。
谢谢你通读这篇文章,并提前感谢任何能给我指明正确方向的人。干杯!