Python tkinter 实现窗口另存为
时间: 2023-11-29 19:00:56 浏览: 136
可以使用 Tkinter 中的 `filedialog` 模块来实现窗口另存为功能。具体步骤如下:
1. 导入 `filedialog` 模块:
```python
from tkinter import filedialog
```
2. 定义一个函数来响应“另存为”按钮的点击事件:
```python
def save_as():
file_path = filedialog.asksaveasfilename(defaultextension='.txt')
if file_path:
with open(file_path, 'w') as f:
f.write(text.get('1.0', 'end'))
```
上述函数中,`asksaveasfilename()` 方法会弹出一个文件保存对话框,让用户选择保存的文件路径和文件名。`defaultextension` 参数可以指定默认的文件扩展名。如果用户选择了文件路径和文件名,则会将文本框中的内容写入到该文件中。
3. 创建“另存为”按钮,并将其绑定到上述函数:
```python
save_button = Button(root, text='另存为', command=save_as)
save_button.pack()
```
完整代码示例:
```python
from tkinter import *
from tkinter import filedialog
root = Tk()
root.title('窗口另存为')
text = Text(root)
text.pack()
def save_as():
file_path = filedialog.asksaveasfilename(defaultextension='.txt')
if file_path:
with open(file_path, 'w') as f:
f.write(text.get('1.0', 'end'))
save_button = Button(root, text='另存为', command=save_as)
save_button.pack()
root.mainloop()
```
阅读全文