【问题标题】:Populate window in Maya with icons and dynamically adjust depending on window size在 Maya 中使用图标填充窗口并根据窗口大小动态调整
【发布时间】:2018-08-16 02:01:47
【问题描述】:

我想在 Maya 中创建一个窗口,其中填充了来自特定路径的图标。我知道该怎么做,但我也希望图标在我更改窗口大小时动态调整。 例如,假设我有这个: enter image description here

我想在调整大小时得到这个: enter image description here

这是我的一些代码:

import maya.cmds as cmds
import os
from os import listdir

def UI(*args):

    if cmds.window("Test", exists = True):
        cmds.deleteUI("Test")
    testwindow = cmds.window("Test", t="Test Window", sizeable = 1)

    cmds.scrollLayout('srcoll', p = "Test")
    cmds.rowColumnLayout("ColLayout", p = "Test", nc = 3)#I imagine the "nc" command is probably useless here, I am just leaving it for testing purposes

    cmds.showWindow("Test")

customPath = "C:\Users\$username$\Desktop"
customPathItems = listdir(customPath)


def popUI(*args):
    for item in customPathItems:
        if item.endswith("_icon.png"):
            cmds.iconTextButton(l = item, p = "ColLayout", i = customPath + "/" + item, w = 128, h = 128)


def buildUI(*args):
    UI()    
    popUI()     

buildUI()

任何帮助将不胜感激

【问题讨论】:

    标签: python user-interface maya


    【解决方案1】:

    您需要的称为 Flow 布局,其中布局内的项目会在小部件调整大小时自动调整。

    这是 Qt 文档中的一个示例,您可以将其完全转换为 Python:

    https://doc.qt.io/qt-4.8/qt-layouts-flowlayout-flowlayout-cpp.html

    您也可以在 Google pyqt flow layout 上搜索已经用 Python 编写的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-07
      • 2017-09-20
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 2010-10-04
      相关资源
      最近更新 更多