当我设置/更改rowColumnLayout的背景色时,子项也会受到影响。
如何仅更改布局的背景
Example
在版面上设置蓝色背景时,复选框背景和字体颜色不同
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()
像这样的
让它工作起来。。不确定这是否是最好的解决方案
相关问题 更多 >
编程相关推荐