演出节目单: 在 ShowFrame 中增加一个按钮 saveButton,并将 saveButton 添加到窗体中。单击saveButton 可以将 showArea 中的内容保存到名为 program.txt 的文件中。
时间: 2024-01-22 18:20:56 浏览: 39
好的,以下是实现该功能的代码:
```python
from tkinter import *
from tkinter import filedialog
class ShowFrame(Frame):
def __init__(self, master):
super().__init__(master)
self.showArea = Text(self, width=80, height=20)
self.showArea.pack()
self.saveButton = Button(self, text="Save", command=self.save_program)
self.saveButton.pack()
def save_program(self):
program = self.showArea.get("1.0", END)
file_path = filedialog.asksaveasfilename(defaultextension=".txt")
with open(file_path, "w") as f:
f.write(program)
root = Tk()
show_frame = ShowFrame(root)
show_frame.pack()
root.mainloop()
```
在这个代码中,我们创建了一个名为 `ShowFrame` 的类,继承自 `Frame`。在 `__init__` 方法中,我们创建了一个 `Text` 组件和一个 `Button` 组件,并分别将它们放置在窗体上。单击 `Button` 按钮会触发 `save_program` 方法,在这个方法中获取 `showArea` 中的内容,并将其写入用户选择的文件中。
我们使用了 `filedialog.asksaveasfilename` 方法来让用户选择文件保存路径和文件名,并使用 `with open(file_path, "w") as f` 的方式来打开文件并写入内容,这样可以确保文件在写入完成后被正确关闭。
这样,我们就实现了将节目单保存到文件的功能。