使用QT pyside6设计一个程序,单击“选择路径”按钮,从路径选择对话框中选择一个路径后,将列出该路径下所有文件的文件名、文件大小、创建日期和修改日期信息。
时间: 2023-12-06 10:44:37 浏览: 225
使用 qtdesigner+PySide6 设计的 GUI 应用程序
以下是一个基本的示例程序,可以实现你想要的功能:
```python
import os
from PySide6.QtCore import Qt
from PySide6.QtGui import QStandardItemModel, QStandardItem
from PySide6.QtWidgets import QApplication, QMainWindow, QFileDialog
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.model = QStandardItemModel()
self.model.setHorizontalHeaderLabels(['Name', 'Size', 'Created', 'Modified'])
self.table_view = QtWidgets.QTableView()
self.table_view.setModel(self.model)
self.setCentralWidget(self.table_view)
self.choose_path_button = QtWidgets.QPushButton('Choose Path')
self.choose_path_button.clicked.connect(self.choose_path)
self.addToolBar(Qt.BottomToolBarArea, QtWidgets.QToolBar(''))
self.addToolBar(Qt.BottomToolBarArea).addWidget(self.choose_path_button)
def choose_path(self):
path = QFileDialog.getExistingDirectory(self, 'Select Directory')
if path:
self.update_table(path)
def update_table(self, path):
self.model.removeRows(0, self.model.rowCount())
for file_name in os.listdir(path):
file_path = os.path.join(path, file_name)
file_size = os.path.getsize(file_path)
file_created = os.path.getctime(file_path)
file_modified = os.path.getmtime(file_path)
name_item = QStandardItem(file_name)
size_item = QStandardItem(f'{file_size} bytes')
created_item = QStandardItem(str(file_created))
modified_item = QStandardItem(str(file_modified))
self.model.appendRow([name_item, size_item, created_item, modified_item])
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
```
这个程序使用了 PySide6 库来创建 GUI 界面,其中:
- `MainWindow` 类是程序的主窗口,继承自 `QMainWindow` 类;
- `model` 对象是表格模型,用于存储文件信息;
- `table_view` 对象是表格视图,用于显示文件信息;
- `choose_path_button` 对象是选择路径按钮,单击后会弹出路径选择对话框;
- `choose_path` 方法是选择路径按钮的回调函数,获取用户选择的路径并更新表格视图;
- `update_table` 方法用于更新表格视图,它首先清空表格模型,然后遍历指定目录下的所有文件,获取文件名、大小、创建时间和修改时间等信息,将这些信息插入到表格模型中。
阅读全文