2 Star 10 Fork 7

终點起點/PySide6-UI-Demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
FileDialog.py 3.90 KB
一键复制 编辑 原始数据 按行查看 历史
终點起點 提交于 2024-08-23 16:48 +08:00 . 增加其他demo
import sys
import os
from PySide6.QtWidgets import *
from PySide6.QtGui import *
from PySide6.QtCore import *
class Demo(QWidget):
_filter="Image File(*.jpg *.png *.ico);;Python File(*.py)"
def __init__(self, parent=None):
super().__init__(parent)
self.parent = parent
layout = QVBoxLayout()
layout.setAlignment(Qt.AlignmentFlag.AlignTop)
toolBar=QToolBar()
btn=QPushButton('选择图片(静态方法)')
btn.clicked.connect(self.GetFileStatic)
toolBar.addWidget(btn)
btn=QPushButton('选择图片(实例态方法)')
btn.clicked.connect(self.GetFileInstance)
toolBar.addWidget(btn)
btn=QPushButton('选择图片(实例态方法)')
btn.clicked.connect(self.GetFileInstance2)
toolBar.addWidget(btn)
btn=QPushButton('选择多个图片(静态方法)')
btn.clicked.connect(self.GetMultiFileStatic)
toolBar.addWidget(btn)
btn=QPushButton('选择多个图片(实例方法)')
btn.clicked.connect(self.GetMultiFileInstance)
toolBar.addWidget(btn)
btn=QPushButton('选择文件夹(静态方法)')
btn.clicked.connect(self.GetFolderStatic)
toolBar.addWidget(btn)
btn=QPushButton('选择文件夹(实例方法)')
btn.clicked.connect(self.GetFolderInstance)
toolBar.addWidget(btn)
btn=QPushButton('获取存储路径')
btn.clicked.connect(self.GetSavePath)
toolBar.addWidget(btn)
layout.addWidget(toolBar)
self.label=QLabel('选择结果')
layout.addWidget(self.label)
self.setLayout(layout)
def GetFileStatic(self):
filename,filter= QFileDialog.getOpenFileName(self,caption="Selecte One File",dir=self.parent.getAppDir(),filter=self._filter)
print(filter)
self.label.setText(f'你选择的文件:\n{filename}')
def GetFileInstance(self):
dialog=QFileDialog(self,caption='Select One File',directory=self.parent.getAppDir(),filter=self._filter)
if dialog.exec():
files=dialog.selectedFiles()
self.label.setText(f'你选择的文件:\n{files[0]}')
def GetFileInstance2(self):
dialog=QFileDialog()
dialog.setWindowTitle('Select One File')
dialog.setDirectory(self.parent.getAppDir())
dialog.setNameFilter(self._filter)
if dialog.exec():
files=dialog.selectedFiles()
self.label.setText(f'你选择的文件:\n{files[0]}')
def GetMultiFileStatic(self):
files,filter= QFileDialog.getOpenFileNames(self,caption="Selecte Multi File",dir=self.parent.getAppDir(),filter=self._filter)
print(filter)
self.label.setText('你选择的文件:\n'+';\n'.join(files))
def GetMultiFileInstance(self):
dialog=QFileDialog(self,caption='Select Multi File',directory=self.parent.getAppDir(),filter=self._filter)
dialog.setFileMode(QFileDialog.FileMode.ExistingFiles)
if dialog.exec():
files=dialog.selectedFiles()
self.label.setText('你选择的文件:\n'+';\n'.join(files))
def GetFolderStatic(self):
dialog=QFileDialog(self,caption='Select One Directory',directory=self.parent.getAppDir(),filter=self._filter)
dialog.setFileMode(QFileDialog.FileMode.Directory)
if dialog.exec():
files=dialog.selectedFiles()
self.label.setText('你选择的路径:\n'+';\n'.join(files))
def GetFolderInstance(self):
dir=QFileDialog.getExistingDirectory(self,caption='Select One Directory',dir=self.parent.getAppDir())
self.label.setText(f'你选择的路径:\n{dir}')
def GetSavePath(self):
dir,x=QFileDialog.getSaveFileName(self,caption='Get Save Directory',dir=self.parent.getAppDir(),filter=self._filter)
self.label.setText(f'你选择的路径:\n{dir}')
def runDemo(parent):
wigdet = Demo(parent)
return wigdet
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/johnjiangw/pyside6-ui-demo.git
git@gitee.com:johnjiangw/pyside6-ui-demo.git
johnjiangw
pyside6-ui-demo
PySide6-UI-Demo
master

搜索帮助