GUI中的文本框条目

时间:2014-11-08 18:16:20

标签: python user-interface maya

对于一个类,我使用python编写一个带有GUI的小型Chess模拟器。要输入一个动作,我想要一个可以输入的文本框,一旦按下 btn 移动,它就会移动该动作。

目前我的每个部分都有带单选按钮的GUI。在btn移动它们的功能下,我有:

if btn == 4:
   cmds.select('A4')
   cmds.move()

但是我不知道如何为gui中的简单文本框编写代码或者引用文本框的propper代码是什么。

问:如何编写简单的工作文本框,以及如何编写代码,以便函数可以引用gui。

1 个答案:

答案 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)

minValuemaxValue是可选参数,可让您设置此字段可接受的最小值和最大值。要访问输入的值:

val_entered = cmds.intField(my_intfield, query=True, value=True)

请查看这两个字段的文档,了解有关其他内容的更多信息: