文本编辑tab

This commit is contained in:
NY 2025-06-05 17:08:26 +08:00
parent faad4c385e
commit d52a3eabb1

View File

@ -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("<<NotebookTabChanged>>", 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】")