diff --git a/script_manager.py b/script_manager.py index b0759d2..2a2766b 100644 --- a/script_manager.py +++ b/script_manager.py @@ -312,6 +312,7 @@ class ScriptManagerGUI: self.manager = ScriptManager() self.selected_script_id = None self.current_ui_frame = None + self.text_editor_content = "" self.create_widgets() self.root.columnconfigure(0, weight=1) self.root.rowconfigure(0, weight=1) @@ -331,6 +332,42 @@ class ScriptManagerGUI: # 索引运行脚本选项卡 self.create_run_tab() + # 文本编辑选项卡 + self.create_text_editor_tab() + + # 绑定选项卡切换事件 + self.notebook.bind("<>", self.on_tab_changed) + + def create_text_editor_tab(self): + """创建文本编辑选项卡""" + text_editor_frame = ttk.Frame(self.notebook, padding="10") + self.notebook.add(text_editor_frame, text="文本【text】") + text_editor_frame.columnconfigure(0, weight=1) + text_editor_frame.rowconfigure(0, weight=1) + + self.text_editor = tk.Text(text_editor_frame, height=20, width=50) + self.text_editor.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S), pady=5) + text_scroll = ttk.Scrollbar(text_editor_frame, orient=tk.VERTICAL, command=self.text_editor.yview) + text_scroll.grid(row=0, column=1, sticky=(tk.N, tk.S)) + self.text_editor["yscrollcommand"] = text_scroll.set + + # 恢复之前的内容(如果有) + self.text_editor.insert("1.0", self.text_editor_content) + + def on_tab_changed(self, event): + """选项卡切换时保存文本编辑内容""" + selected_tab = self.notebook.select() + tab_name = self.notebook.tab(selected_tab, "text") + + # 如果离开文本编辑选项卡,保存内容 + if hasattr(self, "text_editor") and tab_name != "文本编辑": + self.text_editor_content = self.text_editor.get("1.0", tk.END).strip() + + # 如果切换到文本编辑选项卡,恢复内容 + if tab_name == "文本编辑" and hasattr(self, "text_editor"): + self.text_editor.delete("1.0", tk.END) + self.text_editor.insert("1.0", self.text_editor_content) + def create_add_tab(self): add_frame = ttk.Frame(self.notebook, padding="10") self.notebook.add(add_frame, text="添加【Add】")