温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在PyQt5中使用QListView实现一个代码高亮功能

发布时间:2021-03-17 15:47:10 来源:亿速云 阅读:836 作者:Leah 栏目:开发技术

今天就跟大家聊聊有关如何在PyQt5中使用QListView实现一个代码高亮功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

使用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的范围,

如何在PyQt5中使用QListView实现一个代码高亮功能

如何在PyQt5中使用QListView实现一个代码高亮功能

看完上述内容,你们对如何在PyQt5中使用QListView实现一个代码高亮功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI