您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:PyQt5 QListView 高亮显示某一条目的案例

51自学网 2021-10-30 22:48:59
  python
这篇教程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, QLabelfrom PyQt5.QtGui import QIcon, QPixmap, QStandardItem, QStandardItemModelfrom PyQt5.QtCore import QStringListModel, QAbstractListModel, QModelIndex, QSizeimport sysclass 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的范围,

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


pyqt5 QListWidget的用法解析
使用pyqt5 实现ComboBox的鼠标点击触发事件
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。