zoukankan      html  css  js  c++  java
  • Hiero的spreadsheet中添加tag属性列

    Hiero在对剪辑线上的item进行管理的时候,往往会添加能多tag,而在管 理面板spreadsheet中却无法对tag进行查询,这是一件很麻烦的事,Hiero Development Guide中给出一个自定义spreadsheet的example,我拿来稍作修改,于是就可以对tag进行查询了,还是很给力的~

     
    代码如下:
     
    Talk is cheap,show you the code:

    #####################################################################
     
     
     
    import hiero.ui
    import PySide.QtCore
    import PySide.QtGui

    _itemData = dict()

    class CustomSpreadsheetColumns(object):

      def numColumns(self):

        return 1

      def columnName(self, column):

        if column == 0:
          return "Tags (VHQ)"

        return ""

      def getData(self, row, column, item):

        if column == 0:
          taglist = []
          for tag in item.tags():
            taglist.append(tag.name())
          return ' '.join(taglist)

        return None

      def setData(self, row, column, item, data):

        print "setData", (self, row, column, item, data)
        _itemData[item] = str(data)

      def getTooltip(self, row, column, item):

        return "Tooltip: "+str(row)+"/"+str(column)+": "+item.name()

      def getFont(self, row, column, item):

        return None

      def getBackground(self, row, column, item):

        return None

      def getForeground(self, row, column, item):

        return None

      def getIcon(self, row, column, item):

        return None

      def getSizeHint(self, row, column, item):

        if column == 0:
          return PySide.QtCore.QSize(250, 32)
        return None

      def paintCell(self, row, column, item, painter, option):

        return False

      def createEditor(self, row, column, item, view):

        return None

      def setEditorData(self, row, column, item, editor):

        print "setEditorData:", (self, row, column, item, editor)

        return False

      def setModelData(self, row, column, item, editor):

        print "setModelData:", (self, row, column, item, editor)

        return False

      def dropMimeData(self, row, column, item, data, items):

        print "dropMimeData", (self, row, column, item, data.formats(), items)
        return None


      def indexChanged(self, index):

        print "ComboBox index changed:", index

    # Register our custom columns
    hiero.ui.customColumn = CustomSpreadsheetColumns()

  • 相关阅读:
    mxd与service的关系
    转到不同磁盘
    通过vs命令提示符注册dll
    粘贴带有行号的代码到vs2010中
    添加本地图层出现要求cross domain policy的错误
    删除服务后添加相同名字的服务注意点
    Silverlight_F5调试时要求安装相应版本的运行时
    网页优化
    SqlBulkCopy快速批量大数据插入
    2012项目总结
  • 原文地址:https://www.cnblogs.com/hksac/p/4867999.html
Copyright © 2011-2022 走看看