pyqt基础之2:listModel基础

import sys

import os

from PyQt4 import QtCore, QtGui

from PyQt4.QtCore import *

from PyQt4.QtGui import *

class asset(QtGui.QDialog):

def __init__(self,parent=None):

super(asset, self).__init__(parent)

self.assetList = QtGui.QListView(self)

self.assetList.clicked.connect(self.on_treeView_clicked)

######################################################################

# ----------------- ADD ITEMS----------------------------------------

######################################################################

list_data = listDirs(‘D:\\‘)

dir = listModel(list_data)

self.assetList.setModel(dir)

self.setStyleSheet(‘‘‘

*{

background-color : rgb(65,65,65);

color : rgb(210,210,210);

alternate-background-color:rgb(55,55,55);

}

QTreeView,QListView,QLineEdit{

background-color : rgb(50,50,50);

color : rgb(210,210,210);

}

‘‘‘

)

self.setFocus()

@QtCore.pyqtSlot(QtCore.QModelIndex)

def on_treeView_clicked(self, index):

itms = self.assetList.selectedIndexes()

for it in itms:

print ‘selected item index found at %s‘ % it.row()

class listModel(QAbstractListModel):

def __init__(self, datain, parent=None, *args):

""" datain: a list where each item is a row

"""

QAbstractListModel.__init__(self, parent, *args)

self.listdata = datain

def rowCount(self, parent=QModelIndex()):

return len(self.listdata)

def data(self, index, role):

if index.isValid() and role == Qt.DisplayRole:

return QVariant(self.listdata[index.row()])

else:

return QVariant()

def listDirs(*path):

completePath = os.path.join(*path)

dirs = os.listdir(os.path.abspath(completePath))

outputDir = []

for dir in dirs:

if os.path.isdir(os.path.join(completePath,dir)):

outputDir.append(dir)

return outputDir

if __name__ == "__main__":

app = QtGui.QApplication(sys.argv)

app.setStyle(‘plastique‘)

main = asset()

main.resize(200,200)

main.show()

sys.exit(app.exec_())

时间: 2024-12-14 14:58:15

pyqt基础之2:listModel基础的相关文章

SQL Server 基础 03 查询数据基础

查询数据 简单的查询 1 create table stu_info 2 ( 3 sno int not null 4 ,sname varchar(20) not null 5 ,sex varchar(2) not null 6 ,birth varchar(20) not null 7 ,email varchar(20) not null 8 ,telephone int not null 9 ,depart varchar(20) not null 10 ) 11 12 13 sele

基础拾掇之——http基础

基础拾掇之——http基础 http协议介绍 http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于Web服务.通过计算机处理文本信息,格式为HTML(Hyper Text Mark Language)超文本标记语言来实现. http协议的版本 http 0.9:仅于用户传输html文档 http 1.0 引入了MIME(Multipurpose Internet Mail Extesions)机制:多用途互联网邮件扩展,

平面设计 计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去

【JavaScript基础知识】——DOM基础

基本概念 DOM即文档对象模型,针对HTML和XML文档的API(应用程序接口).它描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某一部分.DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构,也就是表示和处理一个HTML或XML文档的常用方法. D即document,上网查了一下它的英文翻译,最初的意思是记录.所以把它说是文档也是有迹可循的.O即Object,也就是对象,可以理解为类似window对象之类的东西,可以调用属性和方法.M(模型)可以理解为网页文档的树

电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

【网络基础】 TCP & UDP 基础

TCP报文格式 source:发送TCP数据的源端口 dest:接受TCP数据的目的端口 seq:标识该TCP所包含的数据字节的开始序列号 ack_seq:确认序列号,表示接受方下一次接受的数据序列号. doff:数据首部长度.和IP协议一样,以4字节为单位.一般的时候为5 urg:如果设置紧急数据指针,则该位为1 ack:如果确认号正确,那么为1 psh:如果设置为1,那么接收方收到数据后,立即交给上一层程序 rst:为1的时候,表示请求重新连接 syn:为1的时候,表示请求建立连接 fin:

【思库教育】2017PHP项目实战基础+进阶+项目之基础篇

下载链接: [思库教育]2017PHP项目实战基础+进阶+项目之基础篇 小白变大牛,您的专属资源库! 小白变大牛,您的专属资源库! 内容非常充实,可以看目录,设计的面多,项目多,技能多,如果掌握好,找一份PHP的工作,易如反掌!学完后可以到PHP小白变大牛精华区查找更加符合你的资源或者项目! [思库教育]2017PHP项目实战基础+进阶+项目之基础篇[思库教育]2017PHP项目实战基础+进阶+项目之进阶篇[思库教育]2017PHP项目实战基础+进阶+项目之项目篇小白变大牛!Python小白,J

20165330 学习基础和C语言基础调查

学习基础和C语言基础调查 读做中学有感 读了老师的推送,通过邹欣老师的博客中对老师和学生的关系比作教练和学员的阐述,这里重点为我们阐述了「做中学(Learning By Doing)」的重要性. 套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握.这个概念借鉴于武术,指的是可以独自或多人共同练习的一系列动作.招式. 做中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」.学生在实践中发现问题,解决问题,在迭代中提升. --引用自<优秀的教学方法-

20165302 学习基础和C语言基础调查

学习基础和C语言基础调查 ====== 一,技能学习经验体会 要问我有什么技能比大多数人强,这个我还真的不敢说,虽然我在很多方面都有自己的一些了解,比如乐器和绘画,但也都是一知半解,并没有在某一方面出类拔萃,自己虽然在某些方面强于一些人,但毕竟只是小有发展,更别说什么90%了,对于这个问题我想我们每个人都是没有勇气也没有资格说出来的,毕竟人外有人,因为这个问题和90%的条件确实没什么意义,所以我就随便说说我比部分人强的地方,在一些兴趣爱好和特长方面我认为唯一能拿得出手的就是萨克斯,虽然才学了两三