设计一个程序,单击“选择路径”按钮,从路径选择对话框中选择一个路径后,将列出该路径下所有文件的文件名、文件大小、创建日期和修改日期信息。用pyside6模块
时间: 2023-12-06 07:44:36 浏览: 110
好的,以下是一个使用 PySide6 的简单程序,实现了你所描述的功能:
```python
import os
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog, QTableWidget, QTableWidgetItem, QVBoxLayout
class FileBrowser(QWidget):
def __init__(self):
super().__init__()
# 创建一个按钮用于选择路径
self.choose_dir_btn = QPushButton("选择路径")
self.choose_dir_btn.clicked.connect(self.choose_dir)
# 创建一个表格用于显示文件信息
self.table = QTableWidget()
self.table.setColumnCount(4)
self.table.setHorizontalHeaderLabels(["文件名", "文件大小", "创建日期", "修改日期"])
# 创建一个垂直布局,并将按钮和表格添加进去
layout = QVBoxLayout()
layout.addWidget(self.choose_dir_btn)
layout.addWidget(self.table)
self.setLayout(layout)
def choose_dir(self):
# 打开路径选择对话框,获取用户选择的路径
dirpath = QFileDialog.getExistingDirectory(self, "选择路径")
if not dirpath:
return
# 清空表格
self.table.setRowCount(0)
# 遍历路径下的所有文件,获取文件信息并将其添加到表格中
for filename in os.listdir(dirpath):
filepath = os.path.join(dirpath, filename)
if os.path.isfile(filepath):
size = os.path.getsize(filepath)
ctime = os.path.getctime(filepath)
mtime = os.path.getmtime(filepath)
# 将时间戳转换成字符串
ctime_str = self.timestamp_to_str(ctime)
mtime_str = self.timestamp_to_str(mtime)
# 将文件信息添加到表格中
row = self.table.rowCount()
self.table.insertRow(row)
self.table.setItem(row, 0, QTableWidgetItem(filename))
self.table.setItem(row, 1, QTableWidgetItem(str(size)))
self.table.setItem(row, 2, QTableWidgetItem(ctime_str))
self.table.setItem(row, 3, QTableWidgetItem(mtime_str))
def timestamp_to_str(self, timestamp):
# 将时间戳转换成字符串,格式为 yyyy-mm-dd hh:mm:ss
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
if __name__ == "__main__":
app = QApplication([])
file_browser = FileBrowser()
file_browser.show()
app.exec_()
```
程序中主要的组件是一个按钮和一个表格。点击按钮会打开路径选择对话框,用户选择路径后,程序会遍历路径下的所有文件,并将文件名、文件大小、创建日期和修改日期信息添加到表格中。
在代码中使用了 PySide6 模块,需要先安装该模块才能运行程序。在终端中执行以下命令即可安装:
```
pip install PySide6
```
阅读全文