用Python编一个程序,程序界面左面有一个名字是"文件夹"的多行文本框,右面有一个名字是"文本内容"的多行文本框和一个名字是"打开文件夹"的按钮,当点击名字是"打开文件夹"按钮时,选择打开一个文件夹,名字是"文件夹"的多行文本框显示当前文件夹里的文件名,点击名字是"文件夹"的多行文本框里的文件名,名字是"文本内容"的多行文本框显示文本文件内容.
时间: 2023-10-26 14:04:46 浏览: 78
好的,下面是一个简单的实现:
```python
import os
import tkinter as tk
from tkinter import filedialog
class FileExplorer:
def __init__(self, root):
self.root = root
self.root.title("文件夹浏览器")
# 创建界面
self.create_ui()
def create_ui(self):
# 创建左边的文件夹列表
self.folder_text = tk.Text(self.root, width=40, height=20)
self.folder_text.pack(side=tk.LEFT, padx=5, pady=5)
# 创建右边的文本内容
self.content_text = tk.Text(self.root, width=60, height=20)
self.content_text.pack(side=tk.LEFT, padx=5, pady=5)
# 创建打开文件夹按钮
self.btn_open_folder = tk.Button(self.root, text="打开文件夹", command=self.open_folder)
self.btn_open_folder.pack(side=tk.TOP, padx=5, pady=5)
def open_folder(self):
# 弹出文件夹选择对话框
folder_path = filedialog.askdirectory()
# 显示文件夹列表
self.folder_text.delete('1.0', tk.END)
for file_name in os.listdir(folder_path):
self.folder_text.insert(tk.END, file_name + '\n')
# 绑定文件夹列表点击事件
self.folder_text.bind("<Button-1>", self.show_file_content)
def show_file_content(self, event):
# 获取点击的文件名
index = self.folder_text.index("@%s,%s" % (event.x, event.y))
file_name = self.folder_text.get(index + "linestart", index + "lineend").strip()
# 显示文件内容
file_path = os.path.join(filedialog.askdirectory(), file_name)
with open(file_path, 'r') as f:
content = f.read()
self.content_text.delete('1.0', tk.END)
self.content_text.insert(tk.END, content)
if __name__ == '__main__':
root = tk.Tk()
app = FileExplorer(root)
root.mainloop()
```
运行程序后,点击“打开文件夹”按钮,选择一个文件夹,就可以在左边的文本框中看到该文件夹中的文件名,点击文件名后,在右边的文本框中会显示该文件的内容。
阅读全文