Python 如何更改ttk.Notebook的选项卡

Python 如何更改ttk.Notebook的选项卡,python,tkinter,ttk,Python,Tkinter,Ttk,我有一个ttk.笔记本,我想用一个按钮切换到另一个选项卡。 我怎样才能做到这一点 看来更改选项卡状态(normal、disabled和hidden)不会解决我的问题,因为我不想禁用任何选项卡 这是我的密码: import time import ttk as ttk import Tkinter as tk root=tk.Tk() root.config(width=300,height=220) notebook=ttk.Notebook(root) notebook.place(x=

我有一个
ttk.笔记本
,我想用一个按钮切换到另一个选项卡。
我怎样才能做到这一点

看来更改选项卡状态(
normal
disabled
hidden
)不会解决我的问题,因为我不想禁用任何选项卡

这是我的密码:

import time
import ttk as ttk
import Tkinter as tk

root=tk.Tk()

root.config(width=300,height=220)

notebook=ttk.Notebook(root)
notebook.place(x=0,y=0)

tabList=[]
i=0
while i<6:    
     tabList.append(tk.Frame(root))
     tabList[i].config(width=300,height=150,background='white')
     i+=1

i=0
while i<6: 
    notebook.add(tabList[i],text='tab'+str(i))
    i+=1

def fLoopTabs():
    i=0
    while i<6:
         notebook.select(i)
         time.sleep(2)
         #Here goes the Screenshot function
         i+=1

 button=ttk.Button(root,text='Loop',command=fLoopTabs)
 button.place(x=20,y=180)

 root.mainloop()
导入时间
将ttk作为ttk导入
将Tkinter作为tk导入
root=tk.tk()
root.config(宽度=300,高度=220)
notebook=ttk.notebook(根目录)
笔记本。位置(x=0,y=0)
小报作者=[]
i=0

当我看到以下链接时:
如果您看到select方法应该执行您所追求的操作,那么如下所示:

notebook.select(tab_id)

选项卡id可以采用多种形式(见第24.2.5.3节),但最有用的形式是整数(我认为这是与列表使用索引类似的索引)或您希望切换到的选项卡名称。

谢谢您的回答。我试图在一个循环中使用它,这样我就可以截屏每个打开的笔记本标签。select(i)在循环中不起作用。我已经尝试使用time.sleep(5)检查是否所有选项卡都打开了。只有最后一个会打开。当您在循环中使用它时,我可以问一下您是如何将用户界面放入其消息循环中的吗?time.sleep是一个阻塞调用,如果不进入消息循环(mainloop),接口将在循环退出之前不会更新,假设在这种情况下,您可以在睡眠前调用root.update,或者您可以使用threadingthanks获得帮助。我更新了问题中的代码。正如我所想,您需要使用户界面对消息做出响应,对于您当前的目的,最简单的方法是在notebook.select行和time.sleep行之间添加一行“root.update()”