【发布时间】:2022-01-11 05:52:20
【问题描述】:
我想知道如何在特定位置设置 tkinter 笔记本选项卡。例如,我有一个允许您克隆其他选项卡的选项卡,但我希望它保留在最后。我尝试的代码似乎不起作用,因为它会生成一个 tkinter.TclError :“Slave index (whatever number) out of bounds”。
`
from tkinter import *\
from tkinter import ttk, messagebox as msg\
from widgets.translate import Translator\
from widgets.explore import FileExplorer\
root = Tk()\
root.title('Widgets')
tabs = ttk.Notebook(root, width=900, height=350)
tabs.pack(fill='both', expand=1, pady=(5, 0))
tr = ttk.Frame(tabs)
tr_frame = ttk.Frame(tr)
tr_frame.pack(fill=Y)
tabs.add(tr, text='Translator')
Translator(tr_frame)
explorers=0
translators=0
def fileexplore_tab(index=2):
global explorers
fl_explore = ttk.Frame(tabs)
tabs.insert(index, fl_explore, text='File Explorer')
FileExplorer(fl_explore)
explorers += 1
fileexplore_tab(2)
fileexplore_tab(len(tabs.tabs())-1)
print(len(tabs.tabs()))
root.mainloop()
`
【问题讨论】:
-
如果您的示例不使用
widgets模块,这将有所帮助。似乎没有必要重现该问题。此外,您的代码在前几行的末尾有一些奇怪的反斜杠。 -
小部件模块适用于适合笔记本框架的更复杂的应用程序。此外,您可以忽略反斜杠
-
对,但是widgets模块完全没有必要说明这个问题,实际上是阻碍了它。许多人可能不愿意安装这些软件包只是为了运行您的代码。
标签: python tkinter ttk ttkwidgets