当前位置:首页 > 网络黑客 > 正文内容

listview添加多列(qt listview详细用法)

访客3年前 (2022-01-05)网络黑客732

QListView简介

QListView列表视图可以用来以列表的形式来展示数据。在Qt中使用Model-View结构来处理数据与视图之间的关系,Model负责数据的存取,View负责数据的展示, 二者之间数据的交互则是通过委托(delegate)来实现。

QT提供了一些现成的models用于处理数据项:

  • QStringListModel 用于存储简单的QString列表;
  • StandardItemModel 管理复杂的树型结构数据项,每项都可以包含任意数据;
  • QDirModel 提供本地文件系统中的文件与目录信息;
  • QSqlQueryModel, QSqlTableModel,QSqlRelationTableModel用来访问数据库;

QListView是Model-View框架中的一个类,是Qt Model-View框架的组成部分,QListView实现了QAbstractItemView类定义的接口,以使其能够显示从QAbstractItemModel类派生的模型提供的数据。

QListView常用方法:

  • setModel(): 用来设置View所关联的Model,可以使用Python原生的list作为数据源Model;
  • selectedItem(): 选中Model的条目;
  • isSelected(): 判断Model中的某条目是否被选中;
  • setViewMode(): 设置视图模式。(ListMode: 条目从上到下布局,小尺寸显示, IconMode: 条目从左到右布局,大尺寸显示)

QListView常用信号:

  • clicked: 单击某项时,发射此信号;
  • doubleClicked: 双击击某项时,发射此信号;
  • activated: 当用户激活index指定的项目时,发射此信号;
  • entered: 当鼠标光标进入index指定的项目时,发射此信号;
  • iconSizeChanged: 在视图可见时设置此图标大小时,发射此信号;
  • indexesMoved: 在视图中移动索引时,发射此信号;
  • pressed: 按下鼠标按钮时,发射此信号;
  • viewportEntered: 当鼠标光标进入视图时,发射此信号。

QListView类继承关系:

测试QListView

使用QStandardItemModel作为QListView 所使用的模型,在QStandardItemModel中每个QStandardItem条目添加一个图标和文本。完整代码如下:

importsys,os fromPyQt5importQtCore,QtGui,QtWidgets fromPyQt5.QtCoreimportQt fromPyQt5.QtGuiimportQIcon,QStandardItem,QStandardItemModel fromPyQt5.QtWidgetsimport(QApplication,QWidget,QListView, QLabel,QVBoxLayout)

classDemoListView(QWidget): def__init__(self,parent=None): super(DemoListView,self).__init__(parent)

#设置窗口标题 self.setWindowTitle('实战PyQt5:QListViewDemo!') #设置窗口大小 self.resize(480,360)

self.initUi()

definitUi(self): vLayout=QVBoxLayout(self)

lv=QListView(self) slm=QStandardItemModel() self.sports=[ {'img':'/images/basketball.png','title':'篮球'}, {'img':'/images/football.png','title':'足球'}, {'img':'/images/rugby-ball.png','title':'橄榄球'}, {'img':'/images/valley-ball.png','title':'排球'} ]

forsportinself.sports: item=QStandardItem(QIcon(os.path.dirname(__file__)+sport['img']),sport['title']) slm.appendRow(item)

lv.setModel(slm) lv.clicked.connect(self.onListViewClicked) self.label=QLabel(self)

vLayout.addWidget(lv) vLayout.addWidget(self.label)

self.setLayout(vLayout)

#设置选中第一行 lv.setCurrentIndex(slm.index(0,0)) self.label.setText('当前选择为:'+self.sports[0]['title'])

defonListViewClicked(self,index): #显示选中的x信息 self.label.setText('当前选择为:'+self.sports[index.row()]['title'])

if__name__=='__main__': app=QApplication(sys.argv) window=DemoListView() window.show() sys.exit(app.exec())

运行结果如下图:

测试QListView

本文知识点

  • 使用QStandardItemModel作为视图的模型;
  • 使用QStandItem为QStandardItemModel添加条目;
  • 为QStandItem条目添加一个图标和文字信息。

www.gjsmg.com

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/28853.html

分享给朋友:

“listview添加多列(qt listview详细用法)” 的相关文章

黑客追款出款成功再收费「黑客是通过什么方法追款的」

据海峡网2021年10月20日17:40:02的新闻报道,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,黑客追款后来被报道了几次。猜测第六百八十八章逃港者第六百八十九章调侃第六百。相对这个账号是他的。 一、专业网赌追回律师 首先确保整个真正的...

安宫牛黄丸图片及价格(同仁堂安宫丸价钱13万

动物研究显示,体外培育牛黄;还有个绿色锦盒包装的用的是人工麝香。 730点00安宫牛黄丸的药理作用主要表现为抗惊厥作用及解热作用。想给家里老人备一些,天然牛黄,并且只有北京同仁堂生产的安宫牛黄丸,同仁堂安宫牛黄丸会员价,因为主药)原料不同,北京同仁堂牛黄解毒丸的市场价格在2005年4月30,才可以安...

我老公老是让他家的亲戚来我家,我该怎么办?请各位帮我想想办法,我

我老公老是让他家的亲戚来我家,我该怎么办?请各位帮我想想办法,我 请各位帮我想想办法,开网店怎么找女装货源唔爱神起助您成就财富人生,想做微商?想开实体店?想开淘宝店?什么才是你创业的最重要步骤?货源!想在微商卖童装母婴用品纸尿裤女装,开童装女装店铺,你去哪里找最好的货源?如何找童装女装一手货源呢?...

为什么反复烧开的水会有毒?

为什么反复烧开的水会有毒? 千滚水就是在炉上沸腾了一夜或很长时间的水,还有电热水器中反复煮沸的水。这种水因煮过久,水中不挥发性物质,如钙、镁等重金属成分和亚硝酸盐因浓缩后含量很高。久饮这种水,会干扰人的胃肠功能,出现暂时腹泻、腹胀;有毒的亚硝酸盐还会造成机体缺氧,严重者会昏迷惊厥,甚至死亡。 蒸...

怎样辨别有农药残留的蔬菜?

怎样辨别有农药残留的蔬菜? 一、不吃形状、颜色异常的蔬菜: 形状:颜色正常的蔬菜,一般是常规栽培,是未用激素等化学品处理的,可以放心地食用。 “异常”蔬菜可能用激素处理过,如韭菜,当它的叶子特别宽大肥厚,比一般宽叶一次同学聚会,我发现很多同学已经有房有车,毕竟毕业三年了,而我还只是每个月三千块...

崔鹏(足球)个人资料简介(简历及图片)

崔鹏(足球)人物概况 本页面提供了崔鹏(足球)个人资料简介(简历及图片),崔鹏(足球)是谁?崔鹏(足球)个人简介资料完整设计了网页求职找工作编辑个人简历作品所需要的崔鹏(足球)网站常用模板元素,不保证崔鹏(足球)人物数据真实,任何问题请联系管理员调整。 崔鹏(足球)图片 崔鹏(足球)个人资料简...

评论列表

美咩谜兔
3年前 (2022-06-06)

dItem条目添加一个图标和文字信息。 www.gjsmg.com

北槐缪败
3年前 (2022-06-06)

: 按下鼠标按钮时,发射此信号;viewportEntered: 当鼠标光标进入视图时,发射此信号。QListView类继承关系:测试QListView使用QStandardItemModel作为QListView 所使用的模型,在QStandardItemModel中每个QStan

性许卬妄
3年前 (2022-06-06)

球'}]forsportinself.sports:item=QStandardItem(QIcon(os.path.dirname(__file__)+sport['img']),sport['title'])slm.app

假欢我俗
3年前 (2022-06-06)

Model 用于存储简单的QString列表;StandardItemModel 管理复杂的树型结构数据项,每项都可以包含任意数据;QDirModel 提供本地文

语酌寻倌
3年前 (2022-06-06)

QListView简介QListView列表视图可以用来以列表的形式来展示数据。在Qt中使用Model-View结构来处理数据与视图之间的关系,Model负责数据的存取,View负责数据的展示,

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。