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()

Hiero的spreadsheet中添加tag属性列的更多相关文章

  1. treeview自动从表中添加标题和列值做目录的方法2

    treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...

  2. 【C#】在datatable中添加一序号列,编号从1依次递增,并且在第一列

    详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeak/// <summary> ...

  3. (vue.js)axios interceptors 拦截器中添加headers 属性

    (vue.js)axios interceptors 拦截器中添加headers 属性:http://www.codes51.com/itwd/4282111.html 问题: (vue.js)axi ...

  4. 在已创建的DataTable对象中添加在首列一列

    问题描述: 从数据库读取出来的表数据赋给到了DataTable上,将DataTable中数据显示到DataGridView中时希望在DataGridView的第一列显示一列. 解决方法: DataTa ...

  5. 为什么要在<button>元素中添加type属性

    在HTML中<button> 标签定义一个按钮. <button type="button">Click Me!</button> 在 butt ...

  6. 自定义Panel中添加依赖属性需要注意的问题

    今天帮忙同事调试一个自定义Panel的问题, 很奇怪, 利用Binding可以通过ItemSource来添加控件,但是在Listbox的xaml里添加几个ListboxItem却报异常: Visual ...

  7. 在SQL查询结果中添加自增列的两种方法

    解决办法<一>:如果想查询出这个表的信息,并添加一列连续自增的ID,可用如下查询语句: SELECT Row_Number() over ( order by getdate() ) as ...

  8. HTML 全局属性 = HTML5 中添加的属性。

    属性 描述 accesskey 规定激活元素的快捷键. class 规定元素的一个或多个类名(引用样式表中的类). contenteditable 规定元素内容是否可编辑. contextmenu 规 ...

  9. Axios 拦截器中添加headers 属性

    描述: 已在网上查过怎么在 interceptors 中对header进行处理,// http request 拦截器 axios.interceptors.request.use( config = ...

随机推荐

  1. MySQL的架构与历史

    MySQL的最主要特性是它的存储引擎架构,这种架构设计将查询处理以及其他系统任务和数据的存储/提取相分离. MySQL最上层服务是一些如连接处理,授权认证,安全等. MySQL的核心服务功能大部分度在 ...

  2. linux 编译链接问题

    -rpath和-rpath-link 假设有3个文件,在同一目录下,有这样的依赖关系 test->liba.so->libd.so 如果编译test的时候这样写 gcc test.c –l ...

  3. 强化学习基础算法入门 【PPT】

    该部分内容来自于定期的小组讨论,源于师弟的汇报. ==============================================

  4. Ubuntu16.04安装OpenCV3.2以及PCL1.8

    最近在学习slam14讲,需要配置一些环境<视觉slam十四讲> 这本书中已经给出如何配置相关环境的比较详细的说明,但是有些环境并无卵用,比如OpenCV以及PCL 这里给出自己屡试不爽的 ...

  5. HDU 1873 看病要排队 优先队列

    Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  6. window cmd-常用命令

    1.常用命令 dir 文件列表 cd 改变目录md 创建目录 rd 删除目录 type 显示文件内容 fc 比较目录 attrib 修改文件属性 copy 复制文件 del 删除文件 ren 文件改名 ...

  7. Codeforces Div3 #498 A-F

                                                                               . A. Adjacent Replacement ...

  8. jenkins安装教程

    首先部署java环境 然后部署tomacat(部署之后无需开启tomcat服务) sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenk ...

  9. python——SMTP发送简单邮件

    [root@localhost python]# cat smtp.py import smtplib import string from email.mime.text import MIMETe ...

  10. loging日志文件

    此文件要放到django 项目中的setting文件夹,可以对文件进行一些配置和修改 # 定义一下log文件存放的位置 BASE_LOG_DIR = os.path.join(BASE_DIR, &q ...