溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在PyQt5中使用QListView實(shí)現(xiàn)一個代碼高亮功能

發(fā)布時(shí)間:2021-03-17 15:47:10 來源:億速云 閱讀:886 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)如何在PyQt5中使用QListView實(shí)現(xiàn)一個代碼高亮功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

使用setCurrentIndex(int) 來設(shè)置

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

結(jié)果報(bào)錯,提示

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

后來發(fā)現(xiàn)此處不能直接用int , 而應(yīng)該跟用初始化時(shí)的model.index() 來設(shè)置。

修改如下:

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

補(bǔ)充:pyqt5 Qlistiew指定index顯示

要求:

根據(jù)實(shí)驗(yàn)步驟, 指定顯示當(dāng)前的流程在哪個步驟。記錄一下

# 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的參數(shù) ,即可指定當(dāng)前的那個索引被選中
    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", "選擇項(xiàng)是:%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實(shí)現(xiàn)一個代碼高亮功能

如何在PyQt5中使用QListView實(shí)現(xiàn)一個代碼高亮功能

看完上述內(nèi)容,你們對如何在PyQt5中使用QListView實(shí)現(xiàn)一個代碼高亮功能有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI