Когда я устанавливаю / изменяю backgroundColor для rowColumnLayout, на детей также влияют.
Как изменить только фон макета?
Пример
Checkerbox-background и font-color различаются при установке синего фона на макете
import maya.cmds as mc
from functools import partial
class Window(object):
WINDOW_NAME = "Window"
def __init__(self):
#-- Check id exists
if mc.window(self.WINDOW_NAME, exists=True):
mc.deleteUI(self.WINDOW_NAME, window=True)
#-- Create Window
self.win = mc.window(self.WINDOW_NAME, title='Example Window', resizeToFitChildren=True)
#-- Create UI
iw = 50
cmds.columnLayout()
#-- ROW1
mc.rowLayout('row1', numberOfColumns = 4)
mc.button('tst_button1', label='Button1', w=iw )
mc.textField('tst_textField1', tx='textField1', w=iw*2 )
mc.colorSliderGrp('tst_colSldGrp1', rgb=([1,0,0]), w=iw )
mc.checkBox('tst_checkBox1', l='', w=iw/3 )
mc.setParent( '..' )
#-- ROW2
mc.rowLayout('row2', numberOfColumns = 8)
mc.button('tst_button2', label='Button2', w=iw )
mc.textField('tst_textField2', tx='textField2', w=iw*2 )
mc.colorSliderGrp('tst_colSldGrp2', rgb=([1,0,0]), w=iw )
mc.checkBox('tst_checkBox2', l='', w=iw/3 )
mc.setParent( '..' )
#-- ROW3 -- Return to this color scheme after switching
mc.rowLayout('row3', numberOfColumns = 8)
mc.button('tst_button3', label='Button3', w=iw )
mc.textField('tst_textField3', tx='textField3', w=iw*2 )
mc.colorSliderGrp('tst_colSldGrp3', rgb=([1,0,0]), w=iw )
mc.checkBox('tst_checkBox3', l='', w=iw/3 )
mc.text('tst_text3', l='Return to this color scheme after switching' )
mc.setParent( '..' )
#-- SWITCH
mc.button('button_switch', label='Switch Selection', c=partial(self.switch) )
#-- Show window
mc.showWindow(self.win)
#-- Switch Function
self.active_row = '2'
self.switch()
def switch(self, *args):
def swicth_row_value():
if self.active_row == '1':
self.active_row = '2'
else:
self.active_row = '1'
return
col_active = [0.321, 0.521, 0.651]
col_passive = [0.267,0.267,0.267]
mc.rowLayout('row' + self.active_row, e=1, backgroundColor=col_passive)
swicth_row_value()
mc.rowLayout('row' + self.active_row, e=1, backgroundColor=col_active)
Window()