python套用模板的资源管理器界面

版权声明:zhaojanc https://blog.csdn.net/qq_38641985/article/details/82224395
#-*- coding:utf-8 -*-
from  PyQt4.QtCore  import *
from  PyQt4.QtGui  import *
import math
import os
import json

QTextCodec.setCodecForTr(QTextCodec.codecForName("utf-8"))
class Toollan1(QWidget):
    def __init__(self,parent=None):
        super(Toollan1,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"属性"))
        tool1_1.setIcon(QIcon("Icon/shuxing.jpg"))
        tool1_1.setIconSize(QSize(20,20))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"打开"))
        tool1_2.setIcon(QIcon("Icon/dakai.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"重命名"))
        tool1_3.setIcon(QIcon("Icon/chongmingming.png"))
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)


        lay=QHBoxLayout()
        lay.addWidget(tool1_1)
        lay.addWidget(tool1_2)
        lay.addWidget(tool1_3)
        self.setLayout(lay)
class Toollan2(QWidget):
    def __init__(self,parent=None):
        super(Toollan2,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"访问媒体"))
        tool1_1.setIcon(QIcon("Icon/fang.jpg"))
        tool1_1.setIconSize(QSize(20,20))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"映射网络\n驱动器"))
        tool1_2.setIcon(QIcon("Icon/yingshe.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"添加一个\n网络位置"))
        tool1_3.setIcon(QIcon("Icon/tianjiawangluo.jpg"))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)


        lay=QHBoxLayout()
        lay.addWidget(tool1_1)
        lay.addWidget(tool1_2)
        lay.addWidget(tool1_3)
        self.setLayout(lay)

class Toollan3(QWidget):
    def __init__(self,parent=None):
        super(Toollan3,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"打开设置"))
        tool1_1.setIcon(QIcon("Icon/dakaishezhi.png"),)

        tool1_1.setIconSize(QSize(40,40))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"卸载或更改\n应用程序"))
        tool1_2.setIcon(QIcon("Icon/dakai.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"系统属性"))
        tool1_3.setIcon(QIcon("Icon/chongmingming.png"))
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_4=QToolButton(self)
        tool1_4.setText((u"管理"))
        tool1_4.setIcon(QIcon("Icon/chongmingming.png"))
        tool1_4.setIconSize(QSize(20,20))
        tool1_4.setAutoRaise(True)
        tool1_4.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        lay_l=QVBoxLayout()
        lay_l.addWidget(tool1_1)

        lay_r=QVBoxLayout()
        lay_r.addWidget(tool1_2)
        lay_r.addWidget(tool1_3)
        lay_r.addWidget(tool1_4)


        lay=QHBoxLayout()
        lay.addLayout(lay_l)
        lay.addLayout(lay_r)
        self.setLayout(lay)

class Toollan4(QWidget):
    def __init__(self,parent=None):
        super(Toollan4,self).__init__(parent)
        label1=QLabel()
        label2=QLabel()
        lay=QHBoxLayout()
        lay.addWidget(label1)
        lay.addWidget(label2)
        self.setLayout(lay)
class Toollans1(QWidget):
    def __init__(self,parent=None):
        super(Toollans1,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"导航窗格"))
        tool1_1.setIcon(QIcon("Icon/daohang.png"),)

        tool1_1.setIconSize(QSize(40,40))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"预览窗格"))
        tool1_2.setIcon(QIcon("Icon/yulan.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"详细信息窗格"))
        tool1_3.setIcon(QIcon("Icon/detail.jpg"))
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)


        lay_l=QVBoxLayout()
        lay_l.addWidget(tool1_1)

        lay_r=QVBoxLayout()
        lay_r.addWidget(tool1_2)
        lay_r.addWidget(tool1_3)


        lay=QHBoxLayout()
        lay.addLayout(lay_l)
        lay.addLayout(lay_r)
        self.setLayout(lay)

        pass
class Toollans2(QWidget):
    def __init__(self,parent=None):
        super(Toollans2,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"排序方式"))
        tool1_1.setIcon(QIcon("Icon/paixv.png"))

        tool1_1.setIconSize(QSize(30,30))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"分组依据"))
        tool1_2.setIcon(QIcon("Icon/yulan.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"添加到列"))
        tool1_3.setIcon(QIcon("Icon/detail.jpg"))
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool2_1=QToolButton(self)
        tool2_1.setText((u"排序方式"))
        tool2_1.setIcon(QIcon("Icon/paixv.png"))

        tool2_1.setIconSize(QSize(30,30))
        tool2_1.setAutoRaise(True)
        tool2_1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool2_2=QToolButton(self)
        tool2_2.setText((u"分组依据"))
        tool2_2.setIcon(QIcon("Icon/yulan.png"))
        tool2_2.setIconSize(QSize(20,20))
        tool2_2.setAutoRaise(True)
        tool2_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool2_3=QToolButton(self)
        tool2_3.setText((u"添加到列"))
        tool2_3.setIcon(QIcon("Icon/detail.jpg"))
        tool2_3.setIconSize(QSize(20,20))
        tool2_3.setAutoRaise(True)
        tool2_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool3_1=QToolButton(self)
        tool3_1.setText((u"排序方式"))
        tool3_1.setIcon(QIcon("Icon/paixv.png"))

        tool3_1.setIconSize(QSize(30,30))
        tool3_1.setAutoRaise(True)
        tool3_1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool3_2=QToolButton(self)
        tool3_2.setText((u"分组依据"))
        tool3_2.setIcon(QIcon("Icon/yulan.png"))
        tool3_2.setIconSize(QSize(20,20))
        tool3_2.setAutoRaise(True)
        tool3_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool3_3=QToolButton(self)
        tool3_3.setText((u"添加到列"))
        tool3_3.setIcon(QIcon("Icon/detail.jpg"))
        tool3_3.setIconSize(QSize(20,20))
        tool3_3.setAutoRaise(True)
        tool3_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)





        lay_l=QVBoxLayout()
        lay_l.addWidget(tool1_1)
        lay_l.addWidget(tool1_2)
        lay_l.addWidget(tool1_3)

        lay_m=QVBoxLayout()
        lay_m.addWidget(tool2_1)
        lay_m.addWidget(tool2_2)
        lay_m.addWidget(tool2_3)

        lay_r=QVBoxLayout()
        lay_r.addWidget(tool3_1)
        lay_r.addWidget(tool3_2)
        lay_r.addWidget(tool3_3)


        lay=QHBoxLayout()
        lay.addLayout(lay_l)
        lay.addLayout(lay_m)
        lay.addLayout(lay_r)
        self.setLayout(lay)
class Toollans3(QWidget):
    def __init__(self,parent=None):
        super(Toollans3,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"排序方式"))
        tool1_1.setIcon(QIcon("Icon/paixv.png"))

        tool1_1.setIconSize(QSize(30,30))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"分组依据"))
        tool1_2.setIcon(QIcon("Icon/yulan.png"))
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"添加到列"))
        tool1_3.setIcon(QIcon("Icon/detail.jpg"))
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_4=QToolButton(self)
        tool1_4.setText((u"将所有列调整到合适大小"))
        tool1_4.setIcon(QIcon("Icon/detail.jpg"))
        tool1_4.setIconSize(QSize(20,20))
        tool1_4.setAutoRaise(True)
        tool1_4.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)


        lay_l=QVBoxLayout()
        lay_l.addWidget(tool1_1)

        lay_r=QVBoxLayout()
        lay_r.addWidget(tool1_2)
        lay_r.addWidget(tool1_3)
        lay_r.addWidget(tool1_4)


        lay=QHBoxLayout()
        lay.addLayout(lay_l)
        lay.addLayout(lay_r)
        self.setLayout(lay)
class Toollans4(QWidget):
    def __init__(self,parent=None):
        super(Toollans4,self).__init__(parent)
        label1=QLabel()
        label2=QLabel()
        lay=QHBoxLayout()
        lay.addWidget(label1)
        lay.addWidget(label2)
        self.setLayout(lay)
class Toollans5(QWidget):
    def __init__(self,parent=None):
        super(Toollans5,self).__init__(parent)
        tool1_1=QToolButton(self)
        tool1_1.setText((u"选项"))
        tool1_1.setIcon(QIcon("Icon/xuanxiang.png"),)
        tool1_1.setIconSize(QSize(40,40))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        lay=QHBoxLayout()
        lay.addWidget(tool1_1)
        self.setLayout(lay)
        pass
class Toollans6(QWidget):
    def __init__(self,parent=None):
        super(Toollans6,self).__init__(parent)
        label1=QLabel()
        label2=QLabel()
        lay=QHBoxLayout()
        lay.addWidget(label1)
        lay.addWidget(label2)
        self.setLayout(lay)


class Computer(QDialog):
    def __init__(self,parent=None):
        super(Computer,self).__init__(parent=parent)
        self.setWindowFlags(Qt.Popup)
        btn=MuluTree()
        mouse_xy = btn.combtn.mapToGlobal(btn.combtn.pos())
        x = mouse_xy.x() 
        y = mouse_xy.y()
        self.setGeometry(x+10,y+24,500,80)

        tool1=Toollan1()
        tool2=Toollan2()

        tool3=Toollan3()
        tool4=Toollan4()

        stack=QStackedWidget()
        stack.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack.addWidget(tool1)

        stack2=QStackedWidget()
        stack2.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack2.addWidget(tool2)


        stack3=QStackedWidget()
        stack3.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack3.addWidget(tool3)


        stack4=QStackedWidget()
        stack4.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack4.addWidget(tool4)

        lay=QHBoxLayout()
        lay.addWidget(stack,2)
        lay.addWidget(stack2,2)
        lay.addWidget(stack3,2)
        lay.addWidget(stack4,1)
        self.setLayout(lay)
class FilemenuBar(QDialog):
    def __init__(self, parent=None):
        super(FilemenuBar,self).__init__(parent=parent)
        self.setWindowFlags(Qt.Popup)
        btn=MuluTree()
        mouse_xy = btn.combtn.mapToGlobal(btn.combtn.pos())
        x = mouse_xy.x() 
        y = mouse_xy.y()
        self.setGeometry(x+10,y+24,500,80)

        tool1_1=QToolButton(self)
        tool1_1.setText((u"打开新窗口"))
        tool1_1.setIcon(QIcon("Icon/yincang.png"),)
        tool1_1.setIconSize(QSize(20,20))
        tool1_1.setAutoRaise(True)
        tool1_1.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_2=QToolButton(self)
        tool1_2.setText((u"打开命令提示符"))
        tool1_2.setIcon(QIcon("Icon/yincang.png"),)
        tool1_2.setIconSize(QSize(20,20))
        tool1_2.setAutoRaise(True)
        tool1_2.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_3=QToolButton(self)
        tool1_3.setText((u"打开 windows powershell"))
        tool1_3.setIcon(QIcon("Icon/yincang.png"),)
        tool1_3.setIconSize(QSize(20,20))
        tool1_3.setAutoRaise(True)
        tool1_3.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_4=QToolButton(self)
        tool1_4.setText((u"删除历史记录"))
        tool1_4.setIcon(QIcon("Icon/yincang.png"),)
        tool1_4.setIconSize(QSize(20,20))
        tool1_4.setAutoRaise(True)
        tool1_4.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_5=QToolButton(self)
        tool1_5.setText((u"帮助"))
        tool1_5.setIcon(QIcon("Icon/yincang.png"),)
        tool1_5.setIconSize(QSize(20,20))
        tool1_5.setAutoRaise(True)
        tool1_5.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

        tool1_6=QToolButton(self)
        tool1_6.setText((u"关闭"))
        tool1_6.setIcon(QIcon("Icon/yincang.png"),)
        tool1_6.setIconSize(QSize(20,20))
        tool1_6.setAutoRaise(True)
        tool1_6.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)


        lay=QVBoxLayout()
        lay.addWidget(tool1_1)
        lay.addWidget(tool1_2)
        lay.addWidget(tool1_3)
        lay.addWidget(tool1_4)
        lay.addWidget(tool1_5)
        lay.addWidget(tool1_6)
        self.setLayout(lay)

class Lookview(QDialog):
    def __init__(self,parent=None):
        super(Lookview,self).__init__(parent=parent)
        self.setWindowFlags(Qt.Popup)
        btn=MuluTree()
        mouse_xy = btn.combtn.mapToGlobal(btn.combtn.pos())
        x = mouse_xy.x() 
        y = mouse_xy.y()
        self.setGeometry(x+10,y+24,500,80)

        tool1=Toollans1()
        tool2=Toollans2()
        tool3=Toollans3()
        tool4=Toollans4()
        tool5=Toollans5()
        tool6=Toollans6()

        stack=QStackedWidget()
        stack.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack.addWidget(tool1)

        stack2=QStackedWidget()
        stack2.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack2.addWidget(tool2)


        stack3=QStackedWidget()
        stack3.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack3.addWidget(tool3)


        stack4=QStackedWidget()
        stack4.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack4.addWidget(tool4)

        stack5=QStackedWidget()
        stack5.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack5.addWidget(tool5)

        stack6=QStackedWidget()
        stack6.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack6.addWidget(tool6)

        lay=QHBoxLayout()
        lay.addWidget(stack,2)
        lay.addWidget(stack2,2)
        lay.addWidget(stack3,2)
        lay.addWidget(stack4,2)
        lay.addWidget(stack5,1)
        lay.addWidget(stack6,4)
        self.setLayout(lay)

        pass
class MuluTree(QWidget):
    def __init__(self):

        super(MuluTree,self).__init__()
        self.initUI()
        title=self.setWindowTitle(u"这台电脑")
        win1=self.setWindowIcon(QIcon('Icon/det.jpg'))

    def initUI(self):

        self.index_address=0






#*******************************************************
        self.filebtn=QPushButton(u'文件')
        self.combtn=QPushButton(u'计算机')
        self.lookbtn=QPushButton(u'查看')
        nonebtn=QLabel()

        self.filebtn.clicked.connect(self.showFileMenu)
        self.combtn.clicked.connect(self.showcomMenu)
        self.lookbtn.clicked.connect(self.showlookMenu)

#*******************************************************

        tool1_1=QToolButton()
        tool1_1.setIcon(QIcon("Icon/tui.jpg"))

        tool1_1.setIconSize(QSize(15,15))
        tool1_1.setAutoRaise(True)

        tool1_2=QToolButton()
        tool1_2.setIcon(QIcon("Icon/jin.jpg"))
        tool1_2.setIconSize(QSize(15,15))
        tool1_2.setAutoRaise(True)

        tool1_3=QToolButton()
        tool1_3.setIcon(QIcon("Icon/xuan.png"))
        tool1_3.setIconSize(QSize(15,15))
        tool1_3.setAutoRaise(True)

        tool1_4=QToolButton()
        tool1_4.setIcon(QIcon("Icon/shang.png"))
        tool1_4.setIconSize(QSize(15,15))
        tool1_4.setAutoRaise(True)

        self.address=QLineEdit("")

        tool1_5=QToolButton()
        tool1_5.setIcon(QIcon("Icon/shua.png"))
        tool1_5.setIconSize(QSize(15,15))
        tool1_5.setAutoRaise(True)

        self.chazhao=QLineEdit()

        tool1_6=QToolButton()
        tool1_6.setIcon(QIcon("Icon/cha.png"))
        tool1_6.setIconSize(QSize(15,15))
        tool1_6.setAutoRaise(True)



#*******************************************************

        self.model=QDirModel()
        #self.model.setFilter(QDir.Dirs|QDir.NoDotAndDotDot)
        self.model.setReadOnly(True)

        #self.model.setSorting(QDir.DirsFirst|QDir.IgnoreCase|QDir.Name)
        selModel=QItemSelectionModel(self.model)




        self.tree=QTreeView()

        self.list = QListView()

        self.tree.setModel(self.model)
        self.list.setModel(self.model)

        self.tree.hideColumn(1)
        self.tree.hideColumn(2)
        self.tree.hideColumn(3)


        self.tree.setSelectionModel(selModel)

        self.list.setSelectionModel(self.tree.selectionModel())
#*******************************************************




        stack=QStackedWidget()
        stack.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack.addWidget(self.tree)
        stack1=QStackedWidget()
        stack1.setFrameStyle(QFrame.Panel|QFrame.Raised)
        stack1.addWidget(self.list)

        Layout=QHBoxLayout()
        Layout.addWidget(stack,0)
        Layout.addWidget(stack1,1)

        Layt=QHBoxLayout()
        Layt.addWidget(self.filebtn,0)
        Layt.addWidget(self.combtn,1)
        Layt.addWidget(self.lookbtn,1)
        Layt.addWidget(nonebtn,20)

        Laytt=QHBoxLayout()
        Laytt.addWidget(tool1_1,0)
        Laytt.addWidget(tool1_2,1)
        Laytt.addWidget(tool1_3,2)
        Laytt.addWidget(tool1_4,3)
        Laytt.addWidget(self.address,8)
        Laytt.addWidget(tool1_5,7)
        Laytt.addWidget(self.chazhao,2)
        Laytt.addWidget(tool1_6,8)




        Lay=QVBoxLayout()
        Lay.addLayout(Layt,1)
        Lay.addLayout(Laytt,1)
        Lay.addLayout(Layout,18)
        self.setLayout(Lay)

        self.tree.clicked.connect(self.showPath)
        self.list.clicked.connect(self.showPath)
        path_json="Icon\\address.json"

        tool1_1.clicked.connect(self.houtui)
        tool1_2.clicked.connect(self.qianjin)

        tool1_4.clicked.connect(self.update)
        tool1_5.clicked.connect(self.refresh)
        tool1_6.clicked.connect(self.refresh_c)


        QObject.connect(self.tree,SIGNAL("doubleClicked(QModelIndex)"),self.list.setRootIndex)
        QObject.connect(self.list,SIGNAL("doubleClicked(QModelIndex)"),self.list.setRootIndex)
        self.setGeometry(50,50,800,600)
    def showFileMenu(self):
        dialog = FilemenuBar(self)
        dialog.show()
    def showlookMenu(self):
        dialog = Lookview(self)
        dialog.show()
    def showcomMenu(self):
        dialog = Computer(self)
        dialog.show()

    def givePathName(self, index):
         indexItem = self.model.index(index.row(), 0, index.parent())
         self.filepath = self.model.filePath(indexItem)
         path_json="Icon\\address.json"

        #创建json文件
         if os.path.exists(path_json):  
            pass
         else:
            f=open(path_json,"w")
            f.write("{\n}")
            f.close()
         with open(path_json) as file:
            dict_all = json.loads(file.read())
         self.lent=len(dict_all)
         dict_all["address"+str(self.lent+1)]=str(self.filepath)
         with open(path_json, "w") as films:
            end = json.dumps(dict_all, indent=4)
            films.write(end)
         self.index_address=len(dict_all)
    def showPath(self, index):
         self.givePathName(index)
         self.address.setText(self.filepath)
    def houtui(self,index):
        path_json="Icon\\address.json"
        if os.path.exists(path_json): 
            with open(path_json) as file:
                dict_all = json.loads(file.read())
        if self.index_address>1:
            self.index_address=self.index_address-1
            self.address.setText(dict_all["address"+str(self.index_address)])
            data=dict_all["address"+str(self.index_address)]
            self.list.setRootIndex(self.model.index(str(data)))

    def qianjin(self,index):
        path_json="Icon\\address.json"
        lent=0
        if os.path.exists(path_json): 
            with open(path_json) as file:
                dict_all = json.loads(file.read())
            lent=len(dict_all)
        if self.index_address<lent:
            self.index_address=self.index_address+1
            self.address.setText(dict_all["address"+str(lent)])
            data=dict_all["address"+str(self.index_address)]
            self.list.setRootIndex(self.model.index(str(data)))
    def update(self,index):
        cur_path = QDir()
        absolute_path = str(self.address.text())
        path=os.path.abspath(os.path.join(absolute_path, "../"))
        self.address.setText(path)
        data=self.address
        self.list.setRootIndex(self.model.index(str(data)))
    def refresh(self,index):
        path = str(self.address.text())
        self.list.setRootIndex(self.model.index(path))
    def refresh_c(self,index):
        path = str(self.chazhao.text())
        self.list.setRootIndex(self.model.index(path))
    def closeEvent(self, event):
        path_json="Icon\\address.json"
        if os.path.exists(path_json):
            os.remove("Icon\\address.json")



if __name__ == '__main__':
    import  sys
    app=QApplication(sys.argv)
    con=MuluTree()
    con.show()
    sys.exit(app.exec_())

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_38641985/article/details/82224395
今日推荐