当前位置: 代码迷 >> 综合 >> QFileSystemModel
  详细解决方案

QFileSystemModel

热度:91   发布时间:2024-02-05 02:08:28.0

学习PyQt推荐大家看这本书:https://weread.qq.com/web/reader/6393267071ccfa97639f573

链接:https://pan.baidu.com/s/1W3JyQrs2REVqFJoZ_E8MrQ 
提取码:beun

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QFileSystemModel
from PyQt5 import QtCore
from PyQt5.QtCore import QDir
from ui_Mainwindow import Ui_MainWindowclass QmyMainWindow(QMainWindow):def __init__(self, parent=None):super().__init__(parent)self.ui=Ui_MainWindow()self.ui.setupUi(self)self.__buildModeView()def __buildModeView(self):#构造Model/View系统self.model=QFileSystemModel(self)self.model.setRootPath(QDir.currentPath())self.ui.treeView.setModel(self.model)#s设置数据模型self.ui.listView.setModel(self.model)self.ui.tableView.setModel(self.model)self.ui.treeView.clicked.connect(self.ui.listView.setRootIndex)self.ui.treeView.clicked.connect(self.ui.tableView.setRootIndex)def on_treeView_clicked(self,index):self.ui.chkBoxIsDir.setChecked(self.model.isDir(index))self.ui.LabPath.setText(self.model.filePath(index))#目录名self.ui.LabType.setText(self.model.type(index))#节点类型self.ui.LabFileName.setText(self.model.fileName(index))#文件名fileSize=self.model.size(index)/1024if(fileSize<1024):self.ui.LabFileSize.setText("%d KB"% fileSize)else:self.ui.LabFileSize.setText("%.2f MB"%(fileSize/1024.0))if __name__=="__main__":QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)#自适应缩放app=QApplication(sys.argv)form=QmyMainWindow()form.show()sys.exit(app.exec_())

  相关解决方案