2013-05-18 48 views
0

我想在Autodesk Maya(僅限MEL)中創建一個複選框列表,其中包含N個項目以及旁邊的選中/取消選項。所以通過點擊一個按鈕,我可以獲得所有選中或未選中項目的價值。有一個名爲textscrolllist的組件,但它不支持複選框。如何在Maya中創建CheckBoxList

回答

0

查看MEL參考文獻中的「控件」類別,可以找到checkBoxcheckBoxGroup命令。您可以使用-value-valueN標誌查詢狀態。

+0

感謝您的快速回復,但我想動態生成列表,它應該是滾動的(相同的,因爲他們在德爾福瑪雅>文件>引用編輯器或checklistbox參考列表)。但是,如果我使用checkBox或checkBoxGroup,並且如果項目超出了指定的窗口大小,那麼在Maya中,我無法相應地滾動它。 – user2396597

+0

您可以將複選框放在'scrollLayout'中,如果添加或刪除複選框,只需銷燬並重新創建窗口即可。或者你可以看看他們如何做參考編輯器,它應該在scripts/other/referenceEditorPanel.mel中。請注意,您可以通過'whatIs'命令瞭解他們如何在UI中執行操作。 –

+0

不幸的是,我已經通過腳本/其他目錄中的所有相關MEL程序以及referenceEditorPanel進行了處理。我得到的是他們有一個單獨的控件,名爲sceneEditor,它顯示參考列表並攜帶其他參考相關信息。所以我認爲我不能使用它作爲一個組件,並感謝滾動佈局將肯定會給它一個嘗試。 – user2396597

0

看看這個網站。在過去的幾年中,這對我在mel中創建自定義用戶界面起到了幫助。以下是關於如何在UI中創建複選框的一些塊文本。

https://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/mel/GUI_controls.html

// a function to be called when the checkbox gets checked. 
proc on_func() { 
    print("checkbox on!\n"); 
} 

// a function to be called when the checkbox gets unchecked. 
proc off_func() { 
    print("checkbox on!\n"); 
} 

{ 
    // create a window 
    window; 

     // define the layout of controls added 
     // to the window. 
     columnLayout; 

      // create a checkbox 
      $c = `checkBox -label "thingy" 
        -onCommand "on_func" 
        -offCommand "off_func"`; 

    // show the window we last created 
    showWindow; 


    // to get the current value of the checkBox, use the -query flag 
    $value = `checkBox -query -value $c`; 

    print("check_box value = "+ $value +"\n"); 
} 
相關問題