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

时间: 2024-08-17 23:13:55

pyqt listview基础学习01的相关文章

pyqt treeview基础学习

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from PyQt4.Qt import * from PyQt4.QtCore import * import sys class Tree(QTreeView): def __init__(self,parnet=None,*args): super(Tree,self).__init__(parnet,*a

PHP基础学习01

PHP语法基础 PHP是一种服务器端技术,不能在客户端运行 保存PHP脚本是必须使用.php扩展名,(例如:index.php). 必须把PHP代码放置在<?php和?>标签之间. <?php print "Hello World"; ?> PHP注释,注释将不会被发送至Web浏览器.PHP提供三种添加注释的方法. <?php         print "Hello"; //第一种单行注释         print "Wo

T-SQL 基础学习 01

1 --新建数据库 2 create database Studentdb 3 go 4 5 --使用数据库 6 use Studentdb 7 go 8 9 --新建表 10 create table Username 11 ( 12 StudentNo int identity(1,1) not null,--学号并设置标识列 13 LoginPwd nvarchar(20) not null,--密码 14 StudentName nvarchar(20) not null,--姓名 15

Swift基础学习01

相关网站:http://www.cnblogs.com/tt_mc/p/3871295.html 相关辅助操作: 可以在右边直接查看输出值 可能出现的常见问题: 1.凡是=注意左右间距一样 2.程序有时会不断提示错误,解决方法:重启Xcode /*-----------1.常量与变量--------------*/ //1.在swift里面 变量的修饰用var 常量的修饰用let //2.print与println的区别是一个没换行一个换行了 //3.swift 数据类型写在变量名的后面 格式:

1、c语言基础学习01

=============================================================================每一种语言都有其独特的语法规则与语言定义. 指令是对计算机进行程序控制的最小单位.所有的指令的集合称为计算机的指令系统. 程序是为完成一项特定任务而用某种语言编写的一组指令序列.=============================================================================机器语言---

零基础学习01(变量及用户交互)

一.变量    1. 首先我们要做的就是申明一个变量例如: name="xiaohua" name是我们的变量名,xiaohua是我们的变量值 变量时我们临时储存和调用 对于数字我们直接是:age=24 请注意,在使用变量前,需要对其赋值,不代表任何值得变量没有意义. 下面大家看一下面这张图片,想一下a,b将会输出什么,为什么? 2.变量命名规则 变量名可以由字母,数字,和下划线(_)组成 不能数字开头,不能有特殊符号,不能有空格. 不能使用关键字 二.与用户交互  input()  

零基础学习01(数据类型 )

一.上篇遗留及习题 1.下面请看 我们来输入一下结果 为什么会是这样呢?b不是等于a吗,为什么不是5而是3. 2.习题解答 (1.)区分下面哪些是变量        name,name1,1name,na me,print,name_1        变量:name,name1,name_1       不是变量:1name,na me,print    (2.)做一个用户交互        首先让用户输入姓名,年龄        然后打印某某年龄是多少                    

python3基础学习笔记(基础知识)-01

python的基础学习: 数据类型:python是弱类型语言,在定义变量的时候,可以不直接制定数据类型. 1.Numbers: int 有符号整型    a = (-1)  a = 1 long 长整型 float 浮点型 complex 复数 2.boolean: True    Flase 3.String :字符串   a = "Hello World" 4.List :列表 有序  list1 = [] 5.Tuple : 元组  定义后不能被修改  a = (1,2,3) 6

蓝鸥零基础学习HTML5—html+css基础

蓝鸥零基础学习HTML5-html+css基础 一.课程目标 1.了解前端开发职位:2.掌握常用标签以及语义及用法:3.掌握常用css的特性,掌握基础布局技巧:4.掌握整站规划概念. 二.适用人群 零基础积极学习html5者 三.课程简介 本课程主要讲解了 html+css的基础知识,包括html模板.标签.css基础样式.布局.表格表单.整站等等,是进行前端开发的基础.Html+css是前端开发的基础,大部分前端开发工程都需要从html+css布局开始,html+css的基础非常重要,是前端开