pyqt listview基础学习01
from decimal import *
from PyQt4.QtGui import *
from PyQt4.Qt import *
from PyQt4.QtCore import *
import sys
class Example(QWidget):
def __init__(self,args=None):
super(Example, self).__init__(args)
list_data=[1,2,3,4]
lm=MyListMode(list_data,self)
self.lv=QListView()
self.lv.setToolTip('listview')
self.lv.setModel(lm)
self.la= MyItemMode()
self.lv.clicked.connect(self.indexMove)
layot=QVBoxLayout()
layot.addWidget(self.lv)
self.setLayout(layot)
def indexMove(self,text):
print u'你选择的是{0}'.format(text.row())
print dir(text)
if text.row()==0:#obj.row()指定的项
self.lv.setModel(self.la)
class MyListMode(QAbstractListModel):
def __init__(self,datain,parnet=None,*args):
"""数据:一列表中的每个项目是一个行"""
super(MyListMode,self).__init__(parnet,*args)
self.listdata=datain
#这2个方法是规定好的
def rowCount(self,parent=QModelIndex()):
return len(self.listdata)
def data(self,index,row):#isValid()是否有效的
if index.isValid() and row==Qt.DisplayRole:#关键数据以文本的形式呈现
return QVariant(self.listdata[index.row()])#QVariant类就像一个最常见的Qt联盟数据类型
else:
return QVariant()
#QStandardItemModel类提供了一个通用的模型来存储自定义数据
class MyItemMode(QStandardItemModel):
def __init__(self,parnet=None):
super(QStandardItemModel,self).__init__(parnet)
for i in xrange(10):
item=QStandardItem('items%d'%i)
item.setFlags(Qt.ItemIsUserCheckable|Qt.ItemIsEnabled)#ItemIsUserCheckable接受与不接受
#ItemIsEnabled用于交互
item.setData(QVariant(Qt.Checked),Qt.CheckStateRole)#Checked检查是否选中
#CheckStateRole检查是否选择的状态
self.appendRow(item)#附加一行包含项目。 如果有必要,列数增加的大小项目。
def paintStart(self):
l=[]
for i in xrange(self.rowCount()):
l.append(self.item(i).ckeckState())
print l
#self.setCentralWidget(view)中央位置
app =QApplication(sys.argv)
x = Example()
x.show()
sys.exit(app.exec_())
如图:

学习内容都从文档和谷歌搜索,有兴趣的朋友可以学习下
pyqt listview基础学习01的更多相关文章
- T-SQL 基础学习 01
--新建数据库 create database Studentdb go --使用数据库 use Studentdb go --新建表 create table Username ( StudentN ...
- XML基础学习01
XML学习 1:XML:可扩展的标识语言,是一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码,数据和表示分离,并作为数据交换的标准格式,被称为智能数据文档. 2:当我们不使用数据库来存储数 ...
- java基础学习01
学习主意:边看视频,边编写代码,学习成果体现在代码
- [AngularJS学习笔记] 基础学习01
2016-06-06开始学习AngularJS AngularJS是会extend HTML的 ng-directives 先学习了四个 ng-app:定义AngularJS Application的 ...
- pyqt treeview基础学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- c语言基础学习01
=============================================================================每一种语言都有其独特的语法规则与语言定义. 指 ...
- Python基础学习01
1.编译型解释型语言区别: 编译型:一次性将全部代码编译成二进制文件,代表c,c++ 优点:执行效率高 缺点:开发速度慢,不能跨平台 解释型:当程序运行时,从上至下一行一行执行,解释成二进制去执行 优 ...
- 18-09-21 numpy 的基础学习01
# 1关于numpy 的学习import numpy as np # 一 如何创建数组****# 1 有规律的一维数据的创建======# 1 range() 和arange() 区别 貌似没有区别l ...
- spring基础学习01
spring基础 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用 IOC控制反转 把创建对象和维护对象之间的关系权利 ...
随机推荐
- 在ubuntu14.04上安装maven
1.首先到Maven官网下载安装文件,目前最新版本为3.3.1,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2.进入下载文件夹,找到下载的文件,运 ...
- C++关键字之const
C++的const关键字一直让我很乱,这里把const关键字在程序中常用的三个地方分别总结出来: 1. 通过指针或引用访问普通变量 2. 通过对象调用成员函数,通过成员函数访问成员变量 3. 通 ...
- VS2015 新Web项目(C#6)出现CS1617异常的解决
VS2015 新Web项目(C#6)出现CS1617错误的解决 VS2015新增了对C#6的支持. 在新的Web项目模板中通过引入nuget包Microsoft.CodeDom.Providers.D ...
- FineUI表单验证
自动编码文本 默认情况下,Label的EncodeText属性为true,会对文本中的HTML进行编码.当然我们也可以设置EncodeText=false,从而将HTML片段赋值给Text属性,请看这 ...
- 《第一行代码》学习笔记7-活动Activity(5)
1.Intent中只能指定一个action,但却能指定多个category. 2.使用隐式Intent,不仅可以启动自己程序内的活动,还可以启动其他程序的活动,使得Android应用程序之间 的功能共 ...
- Cocos2d-x 3.0 场景切换
场景切换要用到导演类Director,一般有两种方式,大多数是用替换场景(replaceScene),也可以用进栈(pushScene)出栈(popScene)的方式进行场景的替换. 场景切换代码: ...
- 安装apache服务器时遇到只能本地访问,局域网内其他电脑不能访问apache:
安装apache服务器时遇到只能本地访问,局域网内其他电脑不能访问apache:1.查看selinux运行状态及关闭selinux/usr/sbin/sestatus -v文本模式关闭selinux: ...
- Matrix Power Series(POJ 3233 构造新矩阵求解+ 快速矩阵幂)
题目大意:给定A,k,m(取模),求解S = A + A2 + A3 + … + Ak. 思路:此题为求解幂的和,一开始直接一个个乘,TLE.时间消耗在累加上.此处巧妙构造新矩阵 p= A 0 ...
- Http GET、Post方式的请求总结
读取http响应信息,并返回响应体 /// <summary> /// 读取http响应信息,并返回响应体 /// </summary> /// <param name= ...
- JSON C# Class Generator是一个从JSON文本中生成C#内的应用程序
JSON C# Class Generator是一个从JSON文本中生成C#内的应用程序 .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator ...