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),我们将学到如何对数据进行排序与过滤
  • 相关阅读:
    C#计算某一些任务的执行时间(消耗时间)
    C#打印条码的几种方式
    使用escape编码地址栏中的中文字符
    SQL 批量删除数据表
    弹出层并锁定页面
    后台输出HTML
    C# 十进制与十六进制互转
    SQL判断临时表是否存在
    SQL Server 字符串处理
    Vue文件跳转$router传参数
  • 原文地址:https://www.cnblogs.com/hangxin1940/p/2806453.html
Copyright © 2011-2022 走看看