Кнопка обратной связи цвета питона в майе? - PullRequest
0 голосов
/ 25 марта 2019

Я новичок в питоне.Я создаю пользовательский интерфейс, который выбирает объекты в моей сцене.Я хочу, чтобы кнопка меняла цвет при щелчке с серого на белый по умолчанию и оставалась белой, а при отмене выбора снова становилась серой.Пожалуйста, сделайте это простым для меня, чтобы понять, спасибо!Код кнопки:

import maya.cmds as cmds
def MyWindow():    
    #delete existing window
    if cmds.window("GuiWindow", exists = True):
        cmds.deleteUI("GuiWindow")
    #create window
    window = cmds.window("GuiWindow", title = "Object Selecter",\
         w = 400, h = 600, sizeable = False, mxb = False)
    column = cmds.columnLayout(w = 400, h = 600)
    form = cmds.formLayout(w = 400, h = 600)
    #background image
    BGimage = cmds.internalVar(upd = True)+"icons/picker_bg01.jpg"
    cmds.image(w = 400, h = 600, image = BGimage)
    #create button
    object1 = cmds.button(label = "", w = 100, h = 50, \
        bgc = [0.5,0.5,0.5],command=lambda x: cmds.select("object1"))
    # More buttons to be created
    cmds.formLayout(form, e = True,af = (object1,"top",100))
    cmds.formLayout(form, e = True,af = (object1,"left",150))
MyWindow()

cmds.showWindow(window)

1 Ответ

0 голосов
/ 25 марта 2019

Вы всегда можете редактировать элементы пользовательского интерфейса, используя команду с аргументом edit , установленным в true. например,

button  = cmds.button(bgc=[.5, .5, .5])
cmds.button(button, edit=True, bgc=[1,1,1])

В вашем случае вы можете создать команду кнопки и переключить цвет там. Чтобы упростить его, вы даже можете получить текущее значение с аргументом query , установленным в true.

currentColor = cmds.button(button, query=True, bgc=True)

Таким образом, вы можете проверить текущий цвет и при необходимости переключиться на другой.

...