zoukankan      html  css  js  c++  java
  • Pyqt Model/view框架 4.自定义编辑项

    >[上篇](http://www.cnblogs.com/hangxin1940/archive/2012/12/07/2806450.html)介绍了如何实现item的可编辑,这篇将介绍如何自定义编辑项的显示 自定义显示可编辑项 --- 将以下方法添加至`MyDelegate`类中: def createEditor(self,parent,option,index): """ 创建编辑器 """ #创建一个QSPinBox sbox=QSpinBox(parent) sbox.setRange(0,100) #返回这个QSpinBox return sbox def setEditorData(self,editor,index): """ 设置编辑器数据 """ item_var=index.data(Qt.DisplayRole) item_str=item_var.toPyObject() item_int=int(item_str) #设置编辑器的数据为当前索引的值 editor.setValue(item_int) def setModelData(self,editor,model,index): """ 给model设置编辑后的数据 """ #获取编辑器的数据 data_int=editor.value() #把数据封装为Qt类型 data_var=QVariant(data_int) #设置Model的数据,当前索引与数据 model.setData(index,data_var) 运行后会发现,在编辑模式下的显示效果改变了。 *要注意的是Delegate(委托)介于View(视图)层与Model(控制)层之间。* >[下一篇](http://www.cnblogs.com/hangxin1940/archive/2012/12/07/2806454.html),我们将学到如何对数据进行排序与过滤
  • 相关阅读:
    nyoj 题目19 擅长排列的小明
    nyoj 题目20 吝啬的国度
    nyoj 题目17 单调递增最长子序列
    nyoj 题目14 会场安排问题
    nyoj 题目12 喷水装置(二)
    nyoj 题目7 街区最短路径问题
    nyoj 8 一种排序
    nyoj 题目6 喷水装置
    nyoj 题目5 Binary String Matching
    nyoj 1282 部分和问题
  • 原文地址:https://www.cnblogs.com/hangxin1940/p/2806453.html
Copyright © 2011-2022 走看看