用python写一个可视化窗口程序,在windows上运行,使用tkinter; 通过“加载文件1”按钮,能够打开文件选择窗口并选中文件1; 通过输出路径的文本框,可以设置文件2的输出路径,默认为文件1所在的文件夹路径; 加载文件的文字内容为content1,通过“转换”按钮,程序能够调用自定义函数func1将文字内容转换为content2,输出到文件2中。
时间: 2024-03-17 08:39:51 浏览: 126
好的,以下是代码实现:
```python
import tkinter as tk
from tkinter import filedialog
def func1(content1):
# 这里是自定义的转换函数,可以根据实际需求自行编写
content2 = content1.upper()
return content2
def select_file1():
# 打开文件选择窗口并选中文件1
file_path = filedialog.askopenfilename()
file1_path.set(file_path)
# 设置文件2的默认输出路径为文件1所在的文件夹路径
output_path.set(file_path.rsplit('/', 1)[0])
def convert():
# 读取文件1中的文字内容
with open(file1_path.get(), 'r', encoding='utf-8') as f:
content1 = f.read()
# 将文字内容转换为content2
content2 = func1(content1)
# 将content2输出到文件2中
with open(output_path.get() + '/file2.txt', 'w', encoding='utf-8') as f:
f.write(content2)
# 在界面上显示转换完成的提示信息
result_label.config(text='转换完成')
# 创建主窗口
root = tk.Tk()
root.title('文件转换器')
root.geometry('400x200')
# 创建文件1路径文本框和“加载文件1”按钮
file1_path = tk.StringVar()
file1_label = tk.Label(root, text='文件1路径:')
file1_label.grid(row=0, column=0, padx=10, pady=10)
file1_entry = tk.Entry(root, textvariable=file1_path)
file1_entry.grid(row=0, column=1, padx=10, pady=10)
file1_button = tk.Button(root, text='加载文件1', command=select_file1)
file1_button.grid(row=0, column=2, padx=10, pady=10)
# 创建文件2输出路径文本框和“转换”按钮
output_path = tk.StringVar()
output_label = tk.Label(root, text='文件2输出路径:')
output_label.grid(row=1, column=0, padx=10, pady=10)
output_entry = tk.Entry(root, textvariable=output_path)
output_entry.grid(row=1, column=1, padx=10, pady=10)
convert_button = tk.Button(root, text='转换', command=convert)
convert_button.grid(row=1, column=2, padx=10, pady=10)
# 创建转换完成的提示信息
result_label = tk.Label(root, text='')
result_label.grid(row=2, column=1, padx=10, pady=10)
# 进入消息循环
root.mainloop()
```
注意,这段代码中的`select_file1`函数和`convert`函数都是与界面交互的事件处理函数,可以根据实际需求自行编写。另外,界面中的控件布局可以根据需要进行调整。
阅读全文