2016-10-08 4 views
2

ドラッグ選択を有効にしてUIの一部のボタンを選択する方法を知りたいと思います。UIでドラッグ選択を有効にする方法

私はcmds.selectPref(clickBoxSize=True)を使用しようとしましたが、動作しません。

+0

それは誰にも役立たないです。誰かがあなたを助ける前に、意味のある質問をする必要があります。 – jwpfox

答えて

0
import maya.cmds as cmds 
import shiboken 
import maya.OpenMayaUI as omUI 
from PySide import QtGui, QtCore 
ui_btns = {} 

win = cmds.window() 
cmds.columnLayout(adjustableColumn=True) 
ui_btns["btn_a"] = cmds.button(label="Burning") 
ui_btns["btn_b"] = cmds.button(label="Man") 
cmds.setParent("..") 
cmds.showWindow(win) 

draggerContext_id = "dga" 
def dga(): 
    cp = QtGui.QCursor().pos() 
    widget = QtGui.qApp.widgetAt(cp) 
    ui_id = omUI.MQtUtil.fullName(long(shiboken.getCppPointer(widget)[0])) 
    print "ui path :{0}".format([ui_id for k, v in ui_btns.iteritems() if ui_id in v]) 

cmds.draggerContext(draggerContext_id, dragCommand = "dga()", cursor="hand", space="screen") 
cmds.setToolTo(draggerContext_id) 

そのUIのパスを取得するためのシンプルなアイデア、あなたもscriptjobまたはthreading.Timer(とdraggerContextを置き換えることができます)。開始()コマンドを、より多くのソリューションがありますが、あなたのUIに依存し、ワークフロー(ポストプロセスevalまたはUI要素dragcallback ...コードからいくつかのセクションを見ることは素晴らしいでしょう)

関連する問題