PyQt5 QListView 高亮显示某一条目的案例

 更新时间:2021年03月17日 14:40:57   作者:weixin_46185214  
这篇文章主要介绍了PyQt5 QListView 高亮显示某一条目的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

正在做的项目遇到的问题 , 在缩略图列表中选择某一图,同时关联到图片list里高亮显示这个图片名字。

一开始我直接用setCurrentIndex(int) 来设置

if msg == "CAM1_Label_1":
  self.showCamOnTopScreen(0)
  self.device_listView.setCurrentIndex(0)

结果报错,提示

“setCurrentIndex(self, QModelIndex): argument 1 has unexpected type 'int'”

后来发现此处不能直接用int , 而应该跟用初始化时的model.index() 来设置。

修改如下:

if msg == "CAM1_Label_1":
  self.showCamOnTopScreen(0)
  idx = self.devicelistModel.index(0)
  self.device_listView.setCurrentIndex(idx)

补充:pyqt5 Qlistiew指定index显示

要求:

根据实验步骤, 指定显示当前的流程在哪个步骤。记录一下

# QListView使用
from PyQt5.QtWidgets import QMessageBox, QListView, QStatusBar, QMenuBar, QMenu, QAction, QLineEdit, QStyle, \
  QFormLayout, QVBoxLayout, QWidget, QApplication, QHBoxLayout, QPushButton, QMainWindow, QGridLayout, QLabel
from PyQt5.QtGui import QIcon, QPixmap, QStandardItem, QStandardItemModel
from PyQt5.QtCore import QStringListModel, QAbstractListModel, QModelIndex, QSize
import sys
class WindowClass(QMainWindow):
  def __init__(self, parent=None):
    super(WindowClass, self).__init__(parent)
    self.layout = QVBoxLayout()
    self.resize(200, 300)
    listModel = QStringListModel()
    listView = QListView()
    items = ["step0", "step1", "step2", "step3"]
    listModel.setStringList(items)    
    listView.setModel(listModel)
    
    # 修改index的参数 ,即可指定当前的那个索引被选中
    listViewindex = listModel.index(1)
    
    listView.setCurrentIndex(listViewindex)
    listView.clicked.connect(self.checkItem)
    self.layout.addWidget(listView)
    widget = QWidget()
    widget.setLayout(self.layout)
    self.setCentralWidget(widget)
  def checkItem(self, index):
    QMessageBox.information(self, "ListView", "选择项是:%d" % (index.row()))
if __name__ == "__main__":
  app = QApplication(sys.argv)
  win = WindowClass()
  win.show()
  sys.exit(app.exec_())

listViewindex = listModel.index(3)和在listViewindex = listModel.index(1) 的情况下 的情况下

要注意判断输入的index的范围,

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python Web框架Flask中使用新浪SAE云存储实例

    Python Web框架Flask中使用新浪SAE云存储实例

    这篇文章主要介绍了Python Web框架Flask中使用新浪SAE云存储实例,本文是对SAE云存储的简单封装,需要的朋友可以参考下
    2015-02-02
  • Flask框架Jinjia模板常用语法总结

    Flask框架Jinjia模板常用语法总结

    这篇文章主要介绍了Flask框架Jinjia模板常用语法,结合实例形式总结分析了Jinjia模板的变量、赋值、流程控制、函数、块、宏等基本使用方法,需要的朋友可以参考下
    2018-07-07
  • 修改默认的pip版本为对应python2.7的方法

    修改默认的pip版本为对应python2.7的方法

    今天小编就为大家分享一篇修改默认的pip版本为对应python2.7的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • jupyter lab无法导入graphviz模块方式

    jupyter lab无法导入graphviz模块方式

    今天小编就为大家分享一篇jupyter lab无法导入graphviz模块方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Django中的ajax请求

    Django中的ajax请求

    今天小编就为大家分享一篇关于Django中的ajax请求,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Python中的错误和异常处理简单操作示例【try-except用法】

    Python中的错误和异常处理简单操作示例【try-except用法】

    这篇文章主要介绍了Python中的错误和异常处理简单操作,结合实例形式分析了Python中try except在错误与异常处理中的用法,需要的朋友可以参考下
    2017-07-07
  • python实现给字典添加条目的方法

    python实现给字典添加条目的方法

    这篇文章主要介绍了python实现给字典添加条目的方法,是比较实用的字典操作技巧,实例备有简单的注释,需要的朋友可以参考下
    2014-09-09
  • 跟老齐学Python之集合(set)

    跟老齐学Python之集合(set)

    本文主要内容是要向各位介绍一种新的数据类型:集合(set).彻底晕倒了,到底python有多少个数据类型呢?又多出来了一个.
    2014-09-09
  • 使用python实现链表操作

    使用python实现链表操作

    链表是计算机科学里面应用最广泛的数据结构之一。这篇文章主要介绍了使用python实现链表操作,需要的朋友可以参考下
    2018-01-01
  • python和c语言哪个更适合初学者

    python和c语言哪个更适合初学者

    在本篇文章里小编给大家分享的是一篇关于python和c语言哪个更适合初学者的相关文章,有兴趣的朋友们学习下。
    2020-06-06

最新评论