2015-12-04 2 views
1

У меня есть frameLayout для загрузки изображений, если я загружаю больше изображений, я не могу видеть все изображения, по этой причине мне нужно добавить scrollLayout в frameLayout, так что я могу прокручивать и видеть изображения. Здесь я не могу добавить scrollLayout в frameLayout.как добавить scrolllayout в framelayout из maya python

Вот мой код ...

import maya.cmds as cmds 
import re,sys,os 
class assetBrowseTool(object): 
    def __init__(self): 
     if (cmds.window('assetBrowseWindow', q=True, ex=True)): 
      cmds.deleteUI('assetBrowseWindow') 
     assetWindow = cmds.window('assetBrowseWindow', title="xxxxxxx V1.0",s = False,widthHeight=(930, 530)) 
     form = cmds.formLayout(numberOfDivisions=100, width=215, height=175) 
     frame = cmds.frameLayout('imageFrame', label='Assets', borderStyle='in',w = 200, h = 200) 
     cmds.setParent('..') 
     tabs = cmds.tabLayout(innerMarginWidth=5, innerMarginHeight=5) 
     cmds.formLayout(form, edit=True, attachForm=[ 
     (tabs, 'top', 450), (tabs, 'left', 720), (tabs, 'bottom', 5), (tabs, 'right', 5), 
     (tabs, 'right', 0), 
     (frame,'left',5),(frame,'top',70),(frame,'bottom',5),(frame,'right',210)]) 
     child1 = cmds.rowColumnLayout(numberOfRows=1) 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.setParent('..') 
     child2 = cmds.rowColumnLayout(numberOfColumns=1) 
     cmds.setParent('..') 
     child3 = cmds.rowColumnLayout(numberOfColumns=1) 
     cmds.setParent('..') 
     cmds.tabLayout(tabs, edit=True, tabLabel=((child1, 'IMPORT'), (child2, 'PUBLISH'),(child3, 'EXPORT'))) 
     cmds.showWindow('assetBrowseWindow') 

assetBrowseTool() 

для scrollLayout

scrollLayout = cmds.scrollLayout(horizontalScrollBarThickness=0, verticalScrollBarThickness=0)   
value = cmds.scrollLayout(scrollLayout, query=True, scrollAreaValue=True) 
top = value[0] 
left = value[1] 

Как добавить scrollLayout код в окне выше. Спасибо.

+0

Вы хотите, чтобы scrollLayout держал все ваши виджеты или вы хотите добавить scrollLayout к определенному виджету, например frameLayout? – Achayan

+0

только рамкаLayout достаточно. – user1335606

ответ

0

Если я правильно понял, то вы хотите, чтобы scrolLayout внутри frameLayout, Если это случай, то здесь работает, например, это небольшая модификация от вашего кода.

import maya.cmds as cmds 
import re,sys,os 
class assetBrowseTool(object): 
    def __init__(self): 
     if (cmds.window('assetBrowseWindow', q=True, ex=True)): 
      cmds.deleteUI('assetBrowseWindow') 
     assetWindow = cmds.window('assetBrowseWindow', title="xxxxxxx V1.0",s = False,widthHeight=(930, 530)) 
     form = cmds.formLayout(numberOfDivisions=100, width=215, height=175) 
     frame = cmds.frameLayout('imageFrame', label='Assets', borderStyle='in',w = 500, h = 500) 
     scrollLay = cmds.scrollLayout("blaaa", horizontalScrollBarThickness=0, verticalScrollBarThickness=0, p =frame) 
     cmds.setParent('..') 
     cmds.setParent('..')  
     tabs = cmds.tabLayout(innerMarginWidth=5, innerMarginHeight=5) 
     cmds.formLayout(form, edit=True, attachForm=[ 
     (tabs, 'top', 450), (tabs, 'left', 720), (tabs, 'bottom', 5), (tabs, 'right', 5), 
     (tabs, 'right', 0), 
     (frame,'left',5),(frame,'top',70),(frame,'bottom',5),(frame,'right',210)]) 
     child1 = cmds.rowColumnLayout(numberOfRows=1) 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.iconTextButton(l = '',w = 60,h = 40,style='iconOnly') 
     cmds.setParent('..') 
     child2 = cmds.rowColumnLayout(numberOfColumns=1) 
     cmds.setParent('..') 
     child3 = cmds.rowColumnLayout(numberOfColumns=1) 
     cmds.setParent('..') 
     cmds.tabLayout(tabs, edit=True, tabLabel=((child1, 'IMPORT'), (child2, 'PUBLISH'),(child3, 'EXPORT'))) 
     cmds.showWindow('assetBrowseWindow') 

assetBrowseTool() 
Смежные вопросы