对于一个类,我使用python编写一个带有GUI的小型Chess模拟器。要输入一个动作,我想要一个可以输入的文本框,一旦按下 btn 移动,它就会移动该动作。
目前我的每个部分都有带单选按钮的GUI。在btn移动它们的功能下,我有:
if btn == 4:
cmds.select('A4')
cmds.move()
但是我不知道如何为gui中的简单文本框编写代码或者引用文本框的propper代码是什么。
问:如何编写简单的工作文本框,以及如何编写代码,以便函数可以引用gui。
答案 0 :(得分:2)
我们可以使用textField命令创建文本框。要创建典型的textField命令:
my_textfield = cmds.textField()
在Maya中,每个UI元素都有唯一的标识符名称字符串。当我们在创建模式下调用textField命令时,它将返回它创建的textField的名称。这里,my_textfield
将是一个Python变量,它包含我们稍后可以引用的创建的textField的名称。要访问此textField的文本值,我们将执行以下操作:
text_entered = cmds.textField(my_textfield, query=True, text=True)
这里,要访问textField中输入的文本,我们通过将查询标志设置为True并将text标志设置为True来在查询模式下调用textField命令。在查询模式下设置text=True
,即query=True
告诉命令返回textField的当前文本值。现在text_entered
将是包含输入文本的Python变量。
文本字段可以采用任何可能需要验证的文本输入。为避免验证问题,如果您知道输入只需要整数,则可以使用intField。 (还有一个floatField。)使用intField也非常类似于textField。要创建一个:
my_intfield = cmds.intField(minValue=1, maxValue=8)
minValue
和maxValue
是可选参数,可让您设置此字段可接受的最小值和最大值。要访问输入的值:
val_entered = cmds.intField(my_intfield, query=True, value=True)
请查看这两个字段的文档,了解有关其他内容的更多信息: