Ai
1 Star 0 Fork 10

marlin/PySide6-UI-Demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
FileSystemModel.py 1.76 KB
一键复制 编辑 原始数据 按行查看 历史
终點起點 提交于 2024-09-05 14:42 +08:00 . 增加示例
import sys
import os
from PySide6.QtWidgets import *
from PySide6.QtGui import *
from PySide6.QtCore import *
class Demo(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.parent = parent
layout = QVBoxLayout()
layout.setAlignment(Qt.AlignmentFlag.AlignTop)
toolBar=QToolBar()
btn=QPushButton('MakeDir')
btn.clicked.connect(self.MakeDir)
toolBar.addWidget(btn)
btn=QPushButton('Remove')
btn.clicked.connect(self.Remove)
toolBar.addWidget(btn)
layout.addWidget(toolBar)
self.model=QFileSystemModel()
self.model.setRootPath(self.parent.getAppDir())
self.treeView=QTreeView()
self.treeView.setModel(self.model)
#self.treeView.setRootIndex(self.model.index(self.parent.getAppDir()))
layout.addWidget(self.treeView)
self.setLayout(layout)
def MakeDir(self):
index = self.treeView.currentIndex()
if index.isValid()==False:return
dirName,ok=QInputDialog.getText(self,'Create Directory','Directory Name')
if dirName is not None:
self.model.mkdir(index,dirName)
self.parent.OnShowMessage(f'Create Directory:{dirName}')
def Remove(self):
index = self.treeView.currentIndex()
if index.isValid()==False:return
path=self.model.filePath(index)
if self.model.isDir(index):
self.model.rmdir(index)
self.parent.OnShowMessage(f'Remove Directory:{path}')
else:
self.model.remove(index)
self.parent.OnShowMessage(f'Remove File:{path}')
def runDemo(parent):
wigdet = Demo(parent)
return wigdet
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/maxf110415/pyside6-ui-demo.git
git@gitee.com:maxf110415/pyside6-ui-demo.git
maxf110415
pyside6-ui-demo
PySide6-UI-Demo
master

搜索帮助