added move() method to CTkTabview

This commit is contained in:
Tom Schimansky 2022-10-14 19:58:16 +02:00
parent 103358d037
commit 205cdae5f9
3 changed files with 17 additions and 5 deletions

View File

@ -377,7 +377,7 @@ class CTkSegmentedButton(CTkFrame):
self.delete(value) self.delete(value)
self.insert(new_index, value) self.insert(new_index, value)
else: else:
raise ValueError(f"CTkSegmentedButton has no value named {value}") raise ValueError(f"CTkSegmentedButton has no value named '{value}'")
else: else:
raise ValueError(f"CTkSegmentedButton new_index {new_index} not in range of value list with len {len(self._value_list)}") raise ValueError(f"CTkSegmentedButton new_index {new_index} not in range of value list with len {len(self._value_list)}")

View File

@ -316,6 +316,15 @@ class CTkTabview(CTkBaseClass):
""" appends new tab with given name """ """ appends new tab with given name """
return self.insert(len(self._tab_dict), name) return self.insert(len(self._tab_dict), name)
def move(self, new_index: int, name: str):
if 0 <= new_index < len(self._name_list):
if name in self._tab_dict:
self._segmented_button.move(new_index, name)
else:
raise ValueError(f"CTkTabview has no name '{name}'")
else:
raise ValueError(f"CTkTabview new_index {new_index} not in range of name list with len {len(self._name_list)}")
def delete(self, name: str): def delete(self, name: str):
""" delete tab by name """ """ delete tab by name """

View File

@ -5,8 +5,8 @@ app = customtkinter.CTk()
tabview_1 = customtkinter._CTkTabview(app, state="disabled") tabview_1 = customtkinter._CTkTabview(app, state="disabled")
tabview_1.pack(padx=20, pady=20) tabview_1.pack(padx=20, pady=20)
tab_1 = tabview_1.add("tab 2") tab_1 = tabview_1.add("tab 1")
tabview_1.insert(0, "tab 1") tabview_1.insert(0, "tab 2")
tabview_1.add("tab 42") tabview_1.add("tab 42")
tabview_1.set("tab 42") tabview_1.set("tab 42")
@ -16,12 +16,15 @@ tabview_1.delete("tab 42")
tabview_1.insert(1, "tab 42") tabview_1.insert(1, "tab 42")
tabview_1.delete("tab 42") tabview_1.delete("tab 42")
#b1 = customtkinter.CTkButton(master=tab_1, text="button tab 1") tabview_1.move(0, "tab 3")
#b1.pack(pady=20)
b1 = customtkinter.CTkButton(master=tab_1, text="button tab 1")
b1.pack(pady=20)
b2 = customtkinter.CTkButton(master=tabview_1.tab("tab 2"), text="button tab 2") b2 = customtkinter.CTkButton(master=tabview_1.tab("tab 2"), text="button tab 2")
b2.pack() b2.pack()
tabview_1.tab("tab 2").configure(fg_color="red") tabview_1.tab("tab 2").configure(fg_color="red")
tabview_1.configure(state="normal")
# tabview_1.delete("tab 1") # tabview_1.delete("tab 1")
app.mainloop() app.mainloop()